同様の質問がここに掲載されています。たとえば、URIは、ISO-8601の日付を持っていることになって、あなたはそれが間違った形式でだか2月を参照していることを発見した場合What's an appropriate HTTP status code to return by a REST API service for a validation failure?ユーザーが間違ったユーザー名/パスワードで正しい形式でログインしようとすると、適切なHTTPステータスコードが返されますか?
状態上記のスレッドで答え」という31番目の場合、HTTP 400を返すでしょう。エンティティ本体に整形式のXMLがあり、それを解析することができないとすれば、同上です。
ただし、ユーザーが正しくフォーマットされたデータを送信した場合はどうなりますか?これは、ユーザがユーザ名とパスワード(私のアプリケーションでは完全に有効)の平易なアルファベットの文字列/テキストを提出したことを意味します。唯一の問題は、パスワードがユーザー名と一致しなかったことです。この場合、完全に有効な構文で整形式なので、400は正しくありません。
ユーザーが任意のページにアクセスしようとしていないため、A 401が正しく表示されない(ここで示唆されているように:Which HTTP status code to say username or password were incorrect?)、単にログインしようとしていて、一致しないデータを入力しています。
私がリンクしている最初の投稿を振り返ってみると、2番目の回答には422が正しい応答であると書かれていますが、私はDjango Rest Frameworkを使用しています。 DRFの一部であるステータスコードの一覧はhttp://www.django-rest-framework.org/api-guide/status-codes/#client-error-4xxです。
404データは正常に受け入れられ、拒否されないため、正しく表示されません。
これで、使用すべき実際の正しい応答は何ですか?
そうです、401は私が使用しているものです。うわー、私は説明の2番目の部分を見逃したと信じることはできません。ありがとう。私はこの質問に8分で正しいとマークしてくれます。 – user2719875
標準が虚偽で、私は418が依然として最高の応答であると考えています – sjagr
あなたが引用している部分から、401の応答は要求が**適用されていないことを示します**。したがって、最初に下位レベルで承認が必要なため、ログイン**試行**は行われませんでした。これは、通常、複数のセキュリティ層がネストされている場合に発生し、内部層で認証を試みる前に外部層で認証する必要があることを示す有効な応答です。 – spectras