403
レスポンスステータスコードを使用する代わりに、「アクセスが拒否されました」というエラーメッセージが表示された禁止ページに対して、200
応答ステータスコードを使用した場合の違いは何ですか?禁止されたWebページに200のHTTPステータスコードを使用するのが適切ですか?
セキュリティ上の影響はありますか?
403
レスポンスステータスコードを使用する代わりに、「アクセスが拒否されました」というエラーメッセージが表示された禁止ページに対して、200
応答ステータスコードを使用した場合の違いは何ですか?禁止されたWebページに200のHTTPステータスコードを使用するのが適切ですか?
セキュリティ上の影響はありますか?
How do I suppress "friendly error messages" in Internet Explorer? 実際には正しいHTTPエラーコードを使用して、ここに記載されているようにエラーメッセージを512バイトより長くすることが、実際のエラーメッセージではありません: https://support.microsoft.com/en-us/kb/294807
応答ステータスコードは、クライアントがリクエストの結果を理解するのを助けるためのものです。可能であれば、適切なステータスコードを使用する必要があります。
ステータスコードのセマンティクスは、HTTP/1.1の現在の参照であるRFC 7231で定義されています。
200
ステータスコードは、要求が成功したことを示しているが、403
ステータスコードは、サーバがリクエストを理解したことを示し、それを承認することを拒否:
200
(OK)状態コードは要求が成功したことを示します。 200応答で送信されるペイロードは、要求方法によって異なります。 [...]
403
(禁止)ステータスコードは、サーバがリクエストを理解したことを示し、それを許可することを拒否する。要求が禁止された理由を公開することを望むサーバーは、その理由を応答ペイロードに記述することができます(存在する場合)。 [...]
返信200
が確実に機能します。しかし、より意味のあるステータスコードを返すことができるのであれば、なぜあなたは200
を返しますか?正当な理由がある場合は、これをあなたの質問に加えるべきです。
助けてくれてありがとう –
@sahilaroraこの回答があなたの質問を解決したら、それを受け入れることを検討してください。 –
サーバーがあなたのリクエストをどのように処理したかに関する情報をHTTP応答コードが伝えます。したがって、サーバーが200で応答する場合は、「OK、要求を受け取りました。正常に処理しました。」と表示されます。 403が返された場合、「あなたのリクエストは正常に受信されましたが、このリソースへのアクセス権がありません」と表示されます。
しかし、技術的には、両方のこのような応答のHTTPヘッダに同様に、同じ形式で返されます
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
差が意味です。その意味はstandardで定義されています。
コード200
で応答しているときは、それがすべて正常でダンディーであることをクライアントに伝えています。403
でクライアントに応答している場合は、クライアントにこのリソースへのアクセス権がないと言います。別のクライアントが存在することができ、覚えておいてください:Webブラウザ、クローラ、JavaScriptからAjaxのリクエストなど
だから、あなたは200
コードでログインフォームを送信している場合:ウェブを使用している
members/quality-content
というURLをログインフォームでインデックス付けしますが、実際には元のコンテンツとは異なり、このページをログインフォームでインデックス化しないでください。error
コールバック関数を実行するときにコールバックを実行します。success
ですから、基本的には、私たちをすべて賛同させ、基準に従ってください! :)
2番目の質問に答えると、アプリケーションの安全性が低下することはありません。
ありがとう、これは私の疑問をクリアする –
素晴らしい!この答えを選択して質問を閉じた状態にすることができます。 – Uzbekjon
ユーザーにページを表示する際に何らかの問題が発生した場合、どうしてすべてがうまくいったというステータスコードを送信したいのですか? – tlund
これはJavaではありません。 2 **コードは「OK」のため、** no **です。それはそれには適していません。 – dquijada
これは、トランスポートプロトコルとしてのhttpとビジネスロジックの間の線を引く場所によって大きく異なります。失敗したログイン試行の後にたくさんのエラーを表示するログインフォームがある場合は、htmlが正しく印刷され、ビジネスロジックがエラーなく実行されてから200になるでしょう。 – f1sh