REST HTTP状态码对照表
对于每个HTTP请求,服务器都会返回一个状态代码,指示请求的处理状态。在本文中,我们将看到一些常用的HTTP状态代码。在以后设计 RESTful API 服务时,对状态代码的基本了解肯定会对我们有所帮助:
REST API使用的一些基本概念:
✅ REST API – Payload
✅ REST API – HTTP Methods
✅ 10大REST API常见问题?
1xx Informational/信息
这一系列状态代码表示信息内容。这意味着已收到请求并正在处理中。以下是常用的信息状态代码:
100 Continue/继续:
此代码表示服务器已收到请求标头,客户端现在可以发送正文内容。在这种情况下,客户端首先发出请求(使用Expect:100-continue标头),以检查它是否可以从部分请求开始。然后,服务器可以响应100继续(OK)或417期望失败(否)以及适当的原因。
101 Switching Protocols/交换协议:
此代码表示服务器可以处理来自客户端的协议交换机请求。
102 Processing/处理:
此代码是一个信息状态代码,用于长期运行处理,以防止客户端超时。这告诉客户等待未来的响应,该响应将具有实际响应主体。
2xx Success/成功
这一系列状态代码表示请求的成功处理。本类中一些常用的状态代码如下:
200 OK/确定:
此代码表示请求成功,响应内容已酌情返回给客户端。
201 Created/创建:
此代码表示请求成功,并创建了新资源。
204 No Content/无内容:
此代码表示请求已成功处理,但此请求没有返回值。例如,您可能会找到此类状态代码来响应资源的删除。
3xx Redirection/重定向
这一系列状态代码表明,客户端需要执行进一步的操作,以在逻辑上结束请求。本类中常用的状态代码如下:
304 Not Modified/未修改:
此状态表示自上次访问以来,该资源没有被修改过。仅当客户端通过将请求标头设置为If-Modified-Since或If-None-Match时允许时,才会返回此代码。客户可以根据此状态代码采取适当行动。
4xx Client Error/客户端错误
这一系列状态代码表示处理请求时出错。本类中一些常用的状态代码如下:
400 Bad Request/不良请求:
此代码表示服务器由于请求中的语法格式错误而无法处理请求。客户端可以在更正请求后再试一次。
401 Unauthorized/未经授权:
此代码表示资源需要身份验证。客户端可以使用适当的身份验证再次尝试。
403 Forbidden/禁止:
此代码表示服务器拒绝响应请求,即使请求有效。如果请求不是HEAD方法,原因将列在正文内容中。
404 Not Found/未找到:
此代码表示在请求中指定的位置找不到请求的资源。
405 Method Not Allowed/方法不允许:
此代码表示请求中指定的HTTP方法不允许在URI标识的资源上使用。
408 Request Timeout/请求超时:
此代码表示客户端未能在服务器上设置的时间窗口内响应。
409 Conflict/冲突:
此代码表示请求无法完成,因为它与在资源上建立的一些规则冲突,例如验证失败。
5xx Server Error/服务器错误
此系列状态代码表示在处理有效请求时服务器故障。以下是本类中常用的状态代码之一:
500 Internal Server Error/内部服务器错误:
此代码指示通用错误消息,并指示服务器上发生意外错误,请求无法完成。
501(Not Implemented/未实施):
服务器要么无法识别请求方法,要么无法满足请求。通常,这意味着未来的可用性(例如,Web服务API的新功能)。
HTTP Status Codes汇总
1×× 信息
- 100 Continue/继续
- 101 Switching Protocols/交换协议
- 102 Processing/处理
2×× 成功
- 200 OK/好
- 201 Created/创建
- 202 Accepted/接受
- 203 Non-authoritative Information/非权威信息
- 204 No Content/无内容
- 205 Reset Content/重置内容
- 206 Partial Content/部分内容
- 207 Multi-Status/多状态
- 208 Already Reported/已报告
- 226 IM Used/IM使用
3×× 重定向
- 300 Multiple Choices/多项选择
- 301 Moved Permanently/永久移动
- 302 Found/找到
- 303 See Other/查看其他
- 304 Not Modified/未修改
- 305 Use Proxy/使用代理
- 307 Temporary Redirect/临时重定向
- 308 Permanent Redirect/永久重定向
4××客户端错误
- 400 Bad Request/错误请求
- 401 Unauthorized/未经授权
- 402 Payment Required/需要付款
- 403 Forbidden/禁止
- 404 Not Found/未找到
- 405 Method Not Allowed/不允许方法
- 406 Not Acceptable/不可接受
- 407 Proxy Authentication Required/需要代理身份验证
- 408 Request Timeout/请求超时
- 409 Conflict/冲突
- 410 Gone/走了
- 411 Length Required/所需长度
- 412 Precondition Failed/先决条件失败
- 413 Payload Too Large/有效载荷太大
- 414 Request-URI Too Long/请求-URI太长
- 415 Unsupported Media Type/不受支持的媒体类型
- 416 Requested Range Not Satisfiable/请求的范围不令人满意
- 417 Expectation Failed/预期失败
- 418 I’m a teapot/
- 421 Misdirected Request/误导请求
- 422 Unprocessable Entity/不可处理实体
- 423 Locked/锁定
- 424 Failed Dependency/依赖失败
- 426 Upgrade Required/需要升级
- 428 Precondition Required/需要先决条件
- 429 Too Many Requests/请求太多
- 431 Request Header Fields Too Large/请求Header字段太大
- 444 Connection Closed Without Response/连接关闭,没有响应
- 451 Unavailable For Legal Reasons/因法律原因不可用
- 499 Client Closed Request/客户已关闭请求
5××服务器错误
- 500 Internal Server Error/内部服务器错误
- 501 Not Implemented/未实施
- 502 Bad Gateway/坏网关
- 503 Service Unavailable/服务不可用
- 504 Gateway Timeout/网关超时
- 505 HTTP Version Not Supported/不支持HTTP版本
- 506 Variant Also Negotiates/变体也进行谈判
- 507 Insufficient Storage/存储不足
- 508 Loop Detected/检测到循环
- 510 Not Extended/未扩展
- 511 Network Authentication Required/需要网络身份验证
- 599 Network Connect Timeout Error/网络连接超时错误
参考资料
原文: REST API – HTTP Status Codes
Mozilla HTTP 响应状态码
表格化,更易读的HTTP状态码