2009-08-13 701 views
6

朋友和同伴用户,http响应状态代码402和403之间的区别

我们有402和403 http响应代码。尽管402保留供将来使用。

什么是(或者会是)这两者之间的区别。未收到付款应该等于未经授权,不应该吗?

编辑:我想知道“为什么402是必需的,当我们已经有403”角度的答案。

回答

5

403禁止

服务器理解请求,但拒绝履行它。授权不起作用,请求不应重复。如果请求方法不是HEAD并且服务器希望公开为什么请求没有被满足,那么它应该描述在实体中拒绝的原因。如果服务器不希望将该信息提供给客户端,则可以使用状态码404(未找到)代替。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

点帮助呢?

+0

谢谢Shoban, 但我在看“为什么402是必须的,当我们已经有403”的角度。 – 2009-08-13 08:40:54

+2

因为402将意味着(在未来)如果payement问题在某种程度上被解决了,请求可以被重复。 – Tomas 2010-12-01 12:59:27

8

的HTTP的StatusCode 402是从403确实不同:

正如它在RFC 2616状态的状态代码402是

402 Payment Required 

这意味着通常不被禁止的请求,但需要付款。

显然有some work正在使用这个保留的状态码。

我认为它目前是不需要的(或者因为没有指定如何使用而没有使用),但是标准的作者做了一些考虑,以便将来使用,这可能是有用的。

+0

第二个链接不正确,它应该是http://http402.org,它将重定向到[此GitHub repo](https://github.com/mleonhard/hipp)关于海明互联网支付协议。 – edymtt 2013-05-16 18:46:06

+0

谢谢,它看起来像它已更新。我更新了链接;) – kmindi 2013-05-17 07:16:49

0

请注意,缺少付款只是您的服务器拒绝请求的一个原因。您可以在其他情况下获得“禁止”状态,例如无效凭证,试图访问“私人资源”等。

我相信402存在只是为了给出有关拒绝原因的更多详细信息一个要求。

相关问题