在处理最近的REST apis时,我有一个问题,为什么“IANA”决定只有100个HTTP状态代码,而不是1个。我希望它背后有一个原因,但我很想知道这一点。
答案 0 :(得分:3)
HTTP / 1.0将状态代码添加到最初发布的版本HTTP / 0.9。状态代码范围定义如下:
RFC 1954, 6.1.1 Status Code and Reason Phrase
Status-Code元素是一个3位整数结果代码 试图理解并满足要求[...]。该 Status-Code适用于自动机[...]。
状态代码的第一个数字定义了响应类。最后两位数字没有任何分类角色。第一个数字有5个值:
1xx:信息性 - 未使用,但保留供将来使用
2xx:成功 - 该行动已成功收到,理解并被接受。
3xx:重定向 - 必须采取进一步行动才能完成请求
4xx:客户端错误 - 请求包含错误的语法或无法完成
5xx:服务器错误 - 服务器无法满足明显有效的请求
至于“为什么”:它允许五个类别,每个类别可以包含一百个不同的代码(x00 - x99),“对任何人都应该足够”。
答案 1 :(得分:2)
状态代码没有连续编号。第一个数字表示状态代码的类型,例如2xx表示成功,4xx表示客户端错误。最后的数字用于指定更多的状态代码。需要两位数,因为每种类型的状态代码超过9个。