http响应状态码402和403的区别
Posted
技术标签:
【中文标题】http响应状态码402和403的区别【英文标题】:Difference between http response status code 402 and 403 【发布时间】:2010-11-19 05:41:19 【问题描述】:朋友和其他用户,
我们有 402 和 403 http 响应代码。不过,402 保留供将来使用。
这两者之间是(或将会是)什么区别。未收到付款应该等于未授权,不是吗?
编辑:我想知道“为什么我们已经有 403 角度时还需要 402”的答案。
【问题讨论】:
【参考方案1】:HTTP 状态码 402 确实与 403 不同:
正如RFC 2616 中所述,状态码 402 是
402 Payment Required
这意味着该请求通常不会被禁止,但需要付款。 显然它被某些服务以预期的方式使用List of HTTP status codes
我认为目前不需要它(或者只是因为未指定如何使用而未使用),但该标准的作者做了一些想法,将其放入以供将来使用,这可能会有用。
【讨论】:
第二个链接不正确,应该是http402.org,重定向到this GitHub repo关于Hamming Internet Payment Protocol。【参考方案2】:403 禁止
服务器理解请求,但拒绝执行。授权将无济于事,并且不应重复请求。如果请求方法不是 HEAD 并且服务器希望公开请求未完成的原因,它应该在实体中描述拒绝的原因。如果服务器不希望向客户端提供此信息,则可以使用状态代码 404(未找到)来代替。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
这有帮助吗?
【讨论】:
感谢 Shoban,但我正在研究“为什么我们已经有 403 角度时还需要 402”。 因为 402 意味着(在未来)如果付款问题以某种方式解决,请求可能会重复。【参考方案3】:请注意,错过付款只是服务器拒绝请求的原因之一。您可以在其他情况下获得“禁止”状态,例如无效凭据、尝试访问“私有资源”等...
我相信 402 的存在只是为了提供有关拒绝请求的原因的更多详细信息。
【讨论】:
以上是关于http响应状态码402和403的区别的主要内容,如果未能解决你的问题,请参考以下文章
http常见的状态码,400,401,403状态码 , http响应 ,php设置http响应