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 - 网关超时