什么是多个方案中的信息和服务器错误的HTTP状态代码?

时间:2017-08-13 15:53:14

标签: rest http networking web

这些是不同情况下HTTP的状态代码。

1xx Informational 
2xx Success 
3xx Redirection 
4xx Client Error 
5xx Server Error

用户应在哪些HTTP调用和方案中报告信息?还有什么应该是代码值?如何决定这些代码值?

用户应在哪些HTTP调用和方案中报告服务器错误?还有什么应该是代码值?我见过许多地方用户得到500或504.它的正确值是什么?用户还可以返回任何其他服务器错误代码吗?如何决定这些代码值?

1 个答案:

答案 0 :(得分:2)

信息性状态代码(1xx)表示在完成请求的操作并发送最终响应之前,用于通信连接状态或请求进度的临时响应。

服务器错误状态代码(5xx)表示服务器已发现错误或无法执行请求的方法。

使用RFC 7231作为参考。它是定义HTTP / 1.1协议的语义和内容的文档。请参阅下面的详细信息。

信息状态代码

  

6.2. Informational 1xx

     

1xx(信息)类状态代码表示临时      响应通信连接状态或请求进度      在完成请求的操作并发送决赛之前      响应。 1xx响应后面的第一个空行终止      状态行(表示标题结尾的空行)      部分)。由于HTTP / 1.0没有定义任何1xx状态代码,a      服务器不得向HTTP / 1.0客户端发送1xx响应。

     

客户端必须能够解析收到的一个或多个1xx响应      在最终回复之前,即使客户没有预料到。一个      用户代理可以忽略意外的1xx响应。

     

除非代理本身请求,否则代理必须转发1xx个响应      生成1xx响应。例如,如果代理添加了      Expect: 100-continue字段在转发请求时,则需要      不转发相应的100(继续)回复。

RFC 7231定义了以下信息状态代码:

服务器错误状态代码

  

6.6. Server Error 5xx

     

5xx(服务器错误)类状态代码表示服务器      知道它有错误或无法执行      要求的方法。除了回复HEAD请求时,      服务器应该发送一个包含对的解释的表示      错误情况,无论是暂时的还是永久的      条件。用户代理应该显示任何包含的表示      给用户。这些响应代码适用于任何请求      方法

RFC 7231定义了以下服务器错误状态代码:

  • 500内部服务器错误
  • 501未实施
  • 502 Bad Gateway
  • 503服务不可用
  • 504网关超时
  • 505不支持HTTP版

可以看到所有已注册的状态代码及其官方文档here

为帮助您确定最合适的状态代码,请考虑以下flowcharts