RFC 标准把状态码分成了五类
- 1××:提示信息,表示目前是协议处理的中间状态,还需要后续的操作;
- 2××:成功,报文已经收到并被正确处理;
- 3××:重定向,资源位置发生变动,需要客户端重新发送请求;
- 4××:客户端错误,请求报文有误,服务器无法处理;
- 5××:服务器错误,服务器在处理请求时内部发生了错误。
1××
1×× 类状态码属于提示信息,是协议处理的中间状态,实际能够用到的时候很少。
101 Switching Protocols。在 HTTP
升级为 WebSocket
的时候,如果服务器同意变更,就会发送状态码 101。
2××
状态码 | 描述 |
---|---|
200 OK | 是最常见的成功状态码,通常在响应体中放有数据。 |
204 No Content | 表示成功,但是响应体中没有 body 数据。 |
206 Partial Content | 表示部分内容,它的使用场景为 HTTP 分块下载和断电续传,当然也会带上相应的响应头字段 Content-Range 。 |
3××
状态码 | 描述 |
---|---|
301 | 永久重定向 |
302 | 临时重定向,不会做缓存优化 |
304 | 协商缓存 |
4xx
状态码 | 描述 |
---|---|
400 | 笼统的错误码 |
401 | 用户没有访问权限 |
403 | Forbidden 表示服务器禁止访问资源 |
404 | 资源在本服务器上未找到 |
405 | 请求方法不被服务器端允许 |
409 | 多个请求发生了冲突 |
413 | 请求体的数据过大 |
5××
状态码 | 描述 |
---|---|
500 | 笼统的错误码 |
501 | 表示客户端请求的功能还不支持 |
502 | 服务器自身是正常的,但访问的时候出错了,啥错误咱也不知道 |
503 | 表示服务器当前很忙,暂时无法响应服务 |