3 回答
TA贡献2065条经验 获得超14个赞
有个问题 401未经授权,用于身份验证错误的HTTP状态代码。仅此而已:这是为了认证,而不是授权。接收401响应的服务器告诉您:“您没有身份验证-或者根本没有身份验证,或者身份验证不正确-但是请重新验证,然后再试一次。”为了帮助你,它总是包括一个 www-认证描述如何进行身份验证的标头。
这是一个通常由您的Web服务器,而不是您的Web应用程序返回的响应。
这也是一件非常临时的事情;服务器要求您再试一次。
因此,为了获得授权,我使用 403禁止回应。它是永久性的,它与我的应用程序逻辑联系在一起,它是一个比401更具体的响应。
收到403的回复是服务器告诉你,“对不起。我知道你是谁-我相信你说你是谁-但你只是没有权限访问这个资源。也许如果你很好地问了系统管理员,你就会得到许可。但请不要再打扰我,直到你的困境改变。“
总之,a 401未经授权响应用于缺少或错误的身份验证,以及 403禁止在对用户进行身份验证但未被授权对给定资源执行所请求的操作时,应在事后使用响应。
TA贡献2019条经验 获得超9个赞
简练
详细而深入
10.4.2 401未经授权
请求需要用户身份验证。响应必须包括一个WWW认证头字段(第14.47节),该字段包含适用于请求资源的问题。客户端可以使用适当的授权头字段重复请求(第14.8节)。
10.4.4 403禁止服务器理解请求,但拒绝履行请求。授权于事无补,不应重复请求。
添加回答
举报