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

时间:2013-12-21 15:42:39

标签: http standards http-status-codes specifications

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

2 个答案:

答案 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个。