Cam*_*tin 5 authentication standards http http-status-code-403 http-status-code-401
在HTTP 1.1规范说:
10.4.4 403 禁止
服务器理解请求,但拒绝满足它。
授权无济于事,不应重复该请求。[...]
这是否仅意味着“基本授权”,如WWW-Authenticate: Basic?对于某些其他用户可能通过基本 HTTP 身份验证以外的方式(例如通过他的会话 cookie、OpenID 等)访问被拒绝资源的资源,是否应该发出 403?
我问这个是因为 HTTP 401 说...
响应必须包含一个
WWW-Authenticate header字段
...我不确定我是否真的应该添加一个像WWW-Authenticate: Custom.
许多人似乎使用 403,即使在一个简单的 cookie 可以使资源可用的情况下也是如此。他们都错了吗?
我相信你是对的,无论授权如何,当请求被拒绝时应该使用 403。一个示例用法是阻止目录浏览,如下所述:
http://www.checkupdown.com/status/E403.html
当然,人们很可能在应该使用 401 的地方错误地使用了它。
401 和 403 之间的差异也在另一个 SO 问题中讨论,其中共识是401 是针对身份验证错误,而403 是针对授权错误。
身份验证与授权的问题可能会有点令人困惑,特别是当规范说:
10.4.2 401 未经授权
该请求需要用户身份验证。
我认为关键的区别是:
| 归档时间: |
|
| 查看次数: |
4386 次 |
| 最近记录: |