HTTP 状态码
HTTP 状态码用于表示服务器对请求的处理结果。状态码由三位数字组成,第一个数字定义了响应的类型:
1xx - 信息提示
这一类状态码表示服务器已接收请求,需要请求者继续执行操作。
100 Continue
: 继续。客户端应继续其请求101 Switching Protocols
: 切换协议。服务器根据客户端的请求切换协议102 Processing
: 处理中。服务器收到并正在处理请求,但无响应可用
2xx - 成功
表示服务器成功处理了请求。
200 OK
: 请求成功。一般用于 GET 与 POST 请求201 Created
: 已创建。成功请求并创建了新的资源202 Accepted
: 已接受。已经接受请求,但未处理完成204 No Content
: 无内容。服务器成功处理,但未返回内容206 Partial Content
: 部分内容。服务器成功处理了部分请求
3xx - 重定向
表示要完成请求,需要进一步的操作。
300 Multiple Choices
: 多种选择。请求的资源可包括多个位置301 Moved Permanently
: 永久移动。请求的资源已被永久移动到新位置302 Found
: 临时移动。请求的资源临时被移动303 See Other
: 查看其它地址。使用 GET 和 POST 请求查看304 Not Modified
: 未修改。所请求的资源未修改,使用缓存307 Temporary Redirect
: 临时重定向。与 302 类似308 Permanent Redirect
: 永久重定向。与 301 类似
4xx - 客户端错误
表示客户端可能出现错误,导致服务器无法处理。
400 Bad Request
: 客户端请求的语法错误,服务器无法理解401 Unauthorized
: 请求要求用户的身份认证403 Forbidden
: 服务器理解请求但拒绝执行404 Not Found
: 服务器无法根据客户端的请求找到资源405 Method Not Allowed
: 客户端请求中的方法被禁止406 Not Acceptable
: 服务器无法根据客户端请求的内容特性完成请求408 Request Time-out
: 服务器等待客户端发送的请求时间过长409 Conflict
: 服务器处理请求时发生了冲突413 Request Entity Too Large
: 请求的实体过大,服务器无法处理414 Request-URI Too Large
: 请求的 URI 过长415 Unsupported Media Type
: 服务器无法处理请求附带的媒体格式429 Too Many Requests
: 用户在给定的时间内发送了太多请求
5xx - 服务器错误
表示服务器在处理请求的过程中发生了错误。
500 Internal Server Error
: 服务器内部错误,无法完成请求501 Not Implemented
: 服务器不支持请求的功能,无法完成请求502 Bad Gateway
: 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应503 Service Unavailable
: 由于临时的服务器维护或者过载,服务器当前无法处理请求504 Gateway Time-out
: 作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器收到响应505 HTTP Version not supported
: 服务器不支持请求的 HTTP 协议的版本
常见应用场景
身份验证
- 需要登录时返回
401
- 无权限访问时返回
403
资源访问
- 成功获取资源返回
200
- 成功创建资源返回
201
- 资源不存在返回
404
重定向
- 资源永久移动使用
301
- 临时重定向使用
302
- 使用缓存返回
304
请求错误
- 请求格式错误返回
400
- API 调用频率超限返回
429
服务器问题
- 服务器错误返回
500
- 服务维护时返回
503