状态码用以表示客户端 HTTP 请求的返回结果
状态码由3位数字和原因短语组成 如 200 OK
状态码中的第一个数字代表了响应类型
状态码的类别
类别 | 原因短语 | |
---|---|---|
1XX | Informational (信息状态码) | 接收的请求正在处理 |
2XX | Success (成功状态码) | 请求正常处理完毕 |
3XX | Redirection (重定向状态码) | 需要进行附加操作以完成请求 |
4XX | Client Error (客户端错误状态码) | 服务器无法处理请求 |
5XX | Server Error (服务器错误状态码) | 服务器处理请求错误 |
2XX 成功
2XX 表明请求被正常处理了
-
200 OK
表示从客户端发来的请求在服务器被正常处理了
-
204 No Content
请求已被处理,但没有任何内容返回
一般在只需要客户端往服务器发送信息,而客户端不需要更新时使用
-
206 Partial Content
服务器已经成功处理了部分 GET 请求
使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载
3XX 重定向
3XX 表明浏览器需要执行某些特殊的处理以正确处理请求
-
301 Moved Permanently
被请求的资源已永久移动到新位置
拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址
-
302 Found
临时重定向
已移动的资源对应的 URI 将来还有可能发生改变
-
303 See Other
对应当前请求的响应可以在另一个 URI 上被找到,而且客户端应当采用 GET 的方式访问那个资源
使用 POST 请求时,会变成 GET
-
304 Not Modified
客户端发送带条件的 GET 请求且请求被允许,而请求的内容未发生改变(服务器资源未改变,可直接使用客户端未过期的缓存)
304响应禁止包含消息体
-
307 Temporary Redirect
临时重定向
按照浏览器标准,请求不会从 POST 变成 GET
4XX 客户端错误
4XX 表明客户端是发生错误的原因所在
-
400 Bad Request
包含语法错误,当前请求无法被服务器理解
需要修改请求内容后再次发送请求
-
401 Unauthorized
当前请求需要用户验证,该响应必须包含一个适用于被请求资源的 WWW-Authenticate 信息头用以询问用户信息
如果当前请求已经包含了 Authorization 证书,那么401响应代表着服务器验证已经拒绝了那些证书,即认证失败
-
403 Forbidden
服务器已经理解请求,但是拒绝执行它
服务器可以在实体内描述拒绝的原因
当然服务器也可以返回一个404响应,假如它不希望让客户端获得任何信息
-
404 Not Found
服务器上没有请求的资源
404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下
5XX 服务器错误
5XX 表明服务器本身发生错误
-
500 Internal Server Error
服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理
-
503 Service Unavailable
由于临时的服务器维护或者过载,服务器当前无法处理请求
如果能够预计延迟时间,那么响应中可以包含一个 Retry-After 头用以标明这个延迟时间
-
504 Gateway Time-out
充当网关或代理的服务器,未及时从远端服务器获取请求
更多状态码点击查看