HTTP 状态码笔记
一、什么是 HTTP 状态码
- HTTP 状态码 是服务器对客户端请求的响应结果的简要描述,由三位数字组成。
- 状态码由 响应首部 返回,格式示例:
HTTP/1.1 200 OK
- 每个状态码属于一个特定的分类。
二、状态码分类概览
分类 | 范围 | 含义 |
---|---|---|
1xx | 100–199 | 信息性,表示请求已接收,继续处理 |
2xx | 200–299 | 成功,表示请求已成功被服务器接收、理解并处理 |
3xx | 300–399 | 重定向,需要进一步操作以完成请求 |
4xx | 400–499 | 客户端错误,请求有语法错误或无法完成 |
5xx | 500–599 | 服务器错误,服务器未能完成合法请求 |
三、常见状态码详解
1xx 信息性状态码
-
100 Continue
客户端应继续请求,服务器已收到请求头,等待请求体 -
101 Switching Protocols
服务器同意客户端协议切换请求 -
102 Processing(WebDAV)
服务器已接收并正在处理请求,但无响应可用
2xx 成功状态码
-
200 OK
请求成功,一般用于 GET 和 POST 请求 -
201 Created
请求成功并创建了新的资源,常用于 POST -
202 Accepted
请求已接收,但尚未处理 -
204 No Content
请求成功,但响应体为空 -
206 Partial Content
部分内容(用于分块下载或断点续传)
3xx 重定向状态码
-
301 Moved Permanently
永久重定向,资源已永久移动到新位置 -
302 Found(或 Moved Temporarily)
临时重定向,资源临时被移动 -
303 See Other
请求的资源可通过其他 URI 获取,通常用于 POST 重定向 -
304 Not Modified
资源未修改,客户端可使用缓存 -
307 Temporary Redirect
临时重定向,方法不变 -
308 Permanent Redirect
永久重定向,方法不变
4xx 客户端错误状态码
-
400 Bad Request
请求语法错误,服务器无法理解 -
401 Unauthorized
未授权,需进行身份验证 -
403 Forbidden
服务器拒绝请求,权限不足 -
404 Not Found
请求资源不存在 -
405 Method Not Allowed
请求方法不被允许 -
408 Request Timeout
请求超时 -
409 Conflict
请求与资源当前状态冲突 -
410 Gone
资源已永久删除 -
413 Payload Too Large
请求实体过大 -
429 Too Many Requests
客户端发送的请求过多,被限流
5xx 服务器错误状态码
-
500 Internal Server Error
服务器内部错误,无法完成请求 -
501 Not Implemented
服务器不支持请求的功能 -
502 Bad Gateway
服务器作为网关/代理时收到无效响应 -
503 Service Unavailable
服务器当前无法处理请求(超载或维护) -
504 Gateway Timeout
网关或代理超时 -
505 HTTP Version Not Supported
不支持的 HTTP 版本
四、常用状态码应用场景总结
状态码 | 应用场景 |
---|---|
200 | 请求成功,正常返回数据 |
201 | 成功创建资源(如创建用户) |
204 | 删除成功,无返回内容 |
301 | 网站永久跳转 |
302 | 页面临时跳转 |
304 | 浏览器缓存命中 |
400 | 参数错误,客户端问题 |
401 | 用户未登录或认证失败 |
403 | 没有权限 |
404 | 资源不存在 |
500 | 服务端代码错误 |
502 | 反向代理无响应 |
503 | 服务器维护、超载 |
504 | 代理/网关超时 |
五、HTTP 状态码总结思维导图(文本版)
HTTP状态码
├── 1xx 信息
│ ├── 100 Continue
│ └── 101 Switching Protocols
├── 2xx 成功
│ ├── 200 OK
│ ├── 201 Created
│ ├── 202 Accepted
│ ├── 204 No Content
│ └── 206 Partial Content
├── 3xx 重定向
│ ├── 301 Moved Permanently
│ ├── 302 Found
│ ├── 303 See Other
│ ├── 304 Not Modified
│ └── 307 Temporary Redirect
├── 4xx 客户端错误
│ ├── 400 Bad Request
│ ├── 401 Unauthorized
│ ├── 403 Forbidden
│ ├── 404 Not Found
│ ├── 405 Method Not Allowed
│ └── 429 Too Many Requests
└── 5xx 服务器错误├── 500 Internal Server Error├── 502 Bad Gateway├── 503 Service Unavailable└── 504 Gateway Timeout
六、扩展阅读建议
- MDN HTTP 状态码文档
- RFC 7231 HTTP 规范