回答

收藏

403 Forbidden vs 401 Unauthorized HTTP 响应

技术问答 技术问答 321 人阅读 | 0 人回复 | 2023-09-11

对于存在的网页,但用户没有足够的权限(他们没有登录或不属于正确的用户组),应该提供什么正确的 HTTP 响应?0 g' {. D7 D1 B/ K0 n
401 Unauthorized?& t3 h, |* W+ _
403 Forbidden?' @* x/ u5 }2 {7 x! B& U
还有什么?
5 [3 e8 W) d8 X1 Y* j  m4 F! ^到目前为止,我读到的关于两者的区别还不是很清楚。每个响应适合哪些用例?
3 ^' ?6 b+ Q1 T5 n+ l0 D0 j                                                                ( Z, G6 i6 q" c: L& U6 J* y" `& q
    解决方案:                                                               
9 Q  p4 l5 B* l  u: ]( C* j% `+ d                                                                解释:
9 X/ h" E6 ~$ V1 V+ o- P401 Unauthorized存在身份验证错误的问题 HTTP 状态代码。仅此而已:用于身份验证而不是授权。服务器告诉你,你没有通过身份验证 -  身份验证或身份验证不正确- 但请重新验证身份并重试。 为了帮助你,它将永远包含一个WWW-Authenticate标头用于描述如何验证身份。% i* b' [3 a7 w2 s9 A
这通常是你的 Web 服务器返回的响应不是你的 Web 应用程序。: z" T5 H- L3 e/ y; \
这也是很暂时的;服务器要求你再试一次。; J% O; [% [  E# _* b& W
所以我用授权。403 Forbidden响应。它是永久性的,它与我的应用逻辑有关,它比 401 更具体。+ F$ t( m$ z$ G' e! X
收到 403 响应是服务器告诉你的,对不起。我知道你是谁——我相信你说的是谁——但你只是没有权利访问这个资源。也许如果你很好地询问系统管理员,你将获得许可证。但请不要在你的困难改变之前打扰我。; x% p# }7 ]/ M& f
总之,401 Unauthorized响应应应用于缺乏或错误的身份验证,403 Forbidden当用户通过身份验证但无权执行对给定资源的要求时,应在以后使用响应。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则