在研究最近的REST API时,我有一个问题,为什么“IANA”决定只有100而不是从1开始的HTTP状态代码。我希望会有一个原因,但我会我很想知道这件事。为什么HTTP错误代码从100开始
1
A
回答
2
HTTP/1.0向HTTP/0.9(最初发布的版本)添加了状态码。状态代码范围被定义为这样:
RFC 1954, 6.1.1 Status Code and Reason Phrase
状态码元素是 尝试以了解和满足所述请求的3位整数结果代码[...]。 状态代码旨在供自动机[...]使用。
状态码的第一个数字定义响应的类别。最后两位数字没有任何分类角色。有第一个数字的5个值:
的1xx:信息 - 未使用,但留作将来使用
的2xx:成功 - 被成功接收的动作,理解和接受。
的3xx:重定向 - 而且必须采取行动,以完成请求
的4xx:客户端出错 - 请求有语法错误或无法实现
的5xx:服务器错误 - 服务器无法完成显然有效的请求
至于“为什么”:它允许五类,每一个都可以包含一百个不同的代码(x00 - x99),“对任何人都应该是足够的”。
+0
感谢@CodeCaster是上面的细节是有道理的。因此,我们在每个类别中确实有100个不同的代码,目前有五个类别来描述状态。尽管目前看起来100个状态已经足够,但希望我们不会耗尽任何类别的状态代码。 :d –
2
状态代码不会以连续的方式编号。第一个数字表示状态码的类型,例如, 2xx表示成功,4xx表示客户端错误。最后的数字用于更多地指定状态码。需要两位数字,因为每种类型存在多于9个状态码。
相关问题
- 1. 打开图形错误代码100
- 2. HTTP错误代码的错误域的名称是什么?
- 3. 错误代码100,而写为Facebook API
- 4. API错误代码:100
- 5. Api错误代码100
- 6. 为什么这个代码有错误?
- 7. 为什么此代码有错误:NullPointerException?
- 8. 为什么此代码发生错误?
- 9. 为什么没有sqlite错误代码
- 10. 为什么这个代码有错误
- 11. JSP代码错误 - 不能为什么
- 12. 为什么此代码输出错误?
- 13. 为什么我的代码错误?
- 14. 为什么从Spark 1.0.1开始出现KMeansModel.predict错误?
- 15. 错误代码2开始OracleDbConsole服务
- 16. 错误代码1064开始尝试
- 17. rowindex始终从零开始......为什么?
- 18. 什么是错在我的代码?为什么错误味精
- 19. Playframework 2.6.x:为什么Akka HTTP从现在开始默认?
- 20. 为什么PHP代码中的PHPDoc错误通过此代码?
- 21. 开始目标C代码错误?怎么了?
- 22. Mockjax HTTP错误代码
- 23. HTTP错误代码:400
- 24. HTTP代码= 409错误
- 25. .net WebClient http错误代码
- 26. HTTP错误代码505
- 27. HTTP错误代码500
- 28. WKWebView抓HTTP错误代码
- 29. 为什么我从这段代码中得到一个错误?
- 30. 为什么我从服务器获取505错误代码?
我怀疑你可以从社区获得这样的问题的权威答案;更好的办法是直接询问标准作者。我们所能做的就是猜测使用第一次找到的咖啡渣。但就我个人而言,它与制定人性化协议的主要方法相关。对于HTTP,这包括具有自由格式的松散语法(除了一些简单的规则),任意空格,区分大小写的匹配等等。有了这个主要原理,要求写入001而不是1是不正确的。OTOH可变长度值看起来更糟糕。但味道是不同的和不可预测的。 – Netch
IANA仅维护注册表。范围由IETF规范定义。 –
@Netch下面的状态码分类对于有三位数的状态码是有意义的。 –