Skip to content

HTTP 状态码

RFC 标准把状态码分成了五类 ,用数字的第一位表示分类,而 0~99 不用,这样状态码的实际可用范围就大大缩小了,由 000~999 变成了 100~599。

这五类的具体含义是:

  • 1××:提示信息,表示目前是协议处理的中间状态,还需要后续的操作;
  • 2××:成功,报文已经收到并被正确处理;
  • 3××:重定向,资源位置发生变动,需要客户端重新发送请求;
  • 4××:客户端错误,请求报文有误,服务器无法处理;
  • 5××:服务器错误,服务器在处理请求时内部发生了错误。

目前 RFC 标准里总共有 41 个状态码

101 - Switching Protocols,客户端使用 Upgrade 头字段

200 - 请求成功

204 - 无内容,服务器成功处理了请求,但没有返回任何内容。

206 - 一般用来做断点续传,或者是视频文件等大文件的加载

301 - 永久重定向

302 - 临时重定向

304 - 未修改协商缓存,返回缓存中的数据。它不具有通常的跳转含义,但可以理解成 重定向已到缓存的文件(即缓存重定向)

400 - 请求中语法错误

401 - 未授权

403 - 服务器收到请求,但是拒绝提供服务,即资源不可用

404 - 无法找到请求资源

408 Request Timeout - 请求超时

414 - 请求 URI 过长(如图一新浪常有)

500 - 服务器内部错误

501 - 尚未实施:服务器不具备请求功能

502 - 网关错误

503 - 服务器不可用,主动用 503 响应请求或 nginx 设置限速,超过限速,会返回 503

504 - 网关超时