403 Forbidden と 401 Unauthorized HTTP レスポンス 質問する

403 Forbidden と 401 Unauthorized HTTP レスポンス 質問する

存在するが、ユーザーに十分な権限がない (ログインしていないか、適切なユーザー グループに属していない) Web ページの場合、適切な HTTP 応答は何ですか?

401 Unauthorized?
403 Forbidden?
他に何かありますか?

これまで読んだ内容では、この 2 つの違いはあまり明確ではありません。それぞれの応答にはどのような使用例が適切でしょうか?

ベストアンサー1

明確な説明ダニエル・アーバイン [オリジナルリンク] :

認証エラーの HTTP ステータス コードである401 Unauthorizedに問題があります。これはまさに、認証用であり、認可用ではないということです。401 応答を受信すると、サーバーは「認証されていません。まったく認証されていないか、正しく認証されていません。再認証して再試行してください」と伝えます。ユーザーを支援するために、認証方法を説明するWWW-Authenticateヘッダーが常に含まれます。

これは通常、Web アプリケーションではなく Web サーバーから返される応答です。

これは非常に一時的なもので、サーバーが再試行するように求めています。

そのため、認証には403 Forbidden応答を使用します。これは永続的で、アプリケーション ロジックに結びついており、401 よりも具体的な応答です。

403 応答を受け取るということは、サーバーが「申し訳ありません。あなたが誰であるかは知っています。あなたが言う通りの人物だと信じています。しかし、このリソースにアクセスする権限がありません。システム管理者に丁寧に頼めば、許可を得られるかもしれません。しかし、状況が変わるまでは、もう煩わせないでください」と伝えていることになります。

要約すると、認証が欠落しているか不正な場合は401 Unauthorized応答を使用し、その後、ユーザーが認証されているが、指定されたリソースに対して要求された操作を実行する権限がない場合は403 Forbidden応答を使用する必要があります。

別の素敵な絵の形式http ステータス コードの使用方法について説明します。

おすすめ記事