为什么 HTTP 错误代码从 100 开始

Sha*_*riq 3 standards specifications http http-status-codes

在处理最近的 REST api 时,我有一个问题,为什么“IANA”决定让 HTTP 状态代码仅来自 100 而不是来自 1。我希望这背后有一个原因,但我很想知道这一点。

Cod*_*ter 5

HTTP/1.0 在最初发布的版本 HTTP/0.9 中添加了状态代码。状态代码范围定义如下:

RFC 1954, 6.1.1 状态代码和原因短语

Status-Code 元素是尝试理解和满足请求 [...] 的 3 位整数结果代码。状态代码旨在供自动机 [...] 使用。

状态代码的第一位数字定义了响应的类别。最后两位数字没有任何分类作用。第一个数字有 5 个值:

  • 1xx:信息性 - 未使用,但保留供将来使用

  • 2xx:成功 - 成功接收、理解和接受动作。

  • 3xx:重定向 - 必须采取进一步行动才能完成请求

  • 4xx:客户端错误 - 请求包含错误的语法或无法完成

  • 5xx:服务器错误 - 服务器未能满足明显有效的请求

至于“为什么”:它允许五个类别,每个类别可以包含一百个不同的代码(x00 - x99),“应该对任何人都足够了”。