HTTP 状态码速查 纯前端 · 免登录
HTTP 状态码完整对照表,含含义说明与常见场景
全部
★ 高频
1xx 信息
2xx 成功
3xx 重定向
4xx 客户端错误
5xx 服务器错误
| 状态码 | 名称 | 含义与常见场景 |
|---|---|---|
| 100 | Continue | 客户端应继续发送请求体。大文件上传带 Expect: 100-continue 头时,服务端先回 100 再传正文。 |
| 101 | Switching Protocols | 协议切换。WebSocket 握手成功的响应码(Upgrade: websocket)。 |
| 102 | Processing | WebDAV:服务端已收到请求正在处理,防止客户端超时。 |
| 103 | Early Hints | 预加载提示。在正式响应前先返回 Link 头,让浏览器提前预加载 CSS/字体。 |
| 200高频 | OK | 请求成功。注意:HTTP 200 不代表业务成功,业务错误码看响应体。 |
| 201 | Created | 资源创建成功。RESTful POST 创建资源后的标准返回。 |
| 202 | Accepted | 已受理但尚未处理完成。异步任务(消息队列、批量导入)的常用返回。 |
| 204 | No Content | 成功但无响应体。DELETE 删除成功、PUT 更新成功的常见返回。 |
| 206 | Partial Content | 部分内容。断点续传、视频拖动播放(Range 请求)成功的响应。 |
| 301高频 | Moved Permanently | 永久重定向。域名更换、HTTP 跳 HTTPS 使用,搜索引擎会传递权重到新地址。 |
| 302高频 | Found | 临时重定向。登录后跳回原页面、短链跳转。搜索引擎保留原地址权重。 |
| 303 | See Other | 用 GET 跳转到另一个地址。表单 POST 提交后跳结果页(PRG 模式)。 |
| 304高频 | Not Modified | 缓存有效。协商缓存(ETag/Last-Modified)命中,浏览器直接用本地缓存,无响应体。 |
| 307 | Temporary Redirect | 临时重定向,严格保持原请求方法(302 可能把 POST 变 GET,307 不会)。 |
| 308 | Permanent Redirect | 永久重定向,严格保持原请求方法(对应 301 的严格版)。 |
| 400高频 | Bad Request | 请求参数错误。JSON 格式非法、缺必填参数、参数类型不对。排查:对照接口文档检查请求体。 |
| 401高频 | Unauthorized | 未认证:没登录或 token 失效/没传。注意语义是「未登录」,不是「没权限」。 |
| 403高频 | Forbidden | 已登录但无权限访问。与 401 的区别:401 是身份不明,403 是身份明确但被拒绝。 |
| 404高频 | Not Found | 资源不存在。排查:URL 拼写、路由是否注册、网关转发规则、路径大小写。 |
| 405 | Method Not Allowed | 请求方法不允许。接口只支持 POST 却用了 GET。排查:确认 @GetMapping/@PostMapping 是否匹配。 |
| 406 | Not Acceptable | 服务端无法产出客户端 Accept 头声明的内容类型。 |
| 408 | Request Timeout | 客户端发请求超时(区别于 504:408 是客户端慢,504 是下游服务慢)。 |
| 409 | Conflict | 资源冲突。唯一索引重复、乐观锁版本冲突、重复提交的常用返回。 |
| 410 | Gone | 资源已永久删除(比 404 更明确)。旧版 API 下线可用此码。 |
| 413 | Payload Too Large | 请求体超限。文件上传超限常见,排查 Nginx client_max_body_size 与应用配置。 |
| 414 | URI Too Long | URL 过长。GET 参数太多时应改用 POST + 请求体。 |
| 415 | Unsupported Media Type | Content-Type 不支持。接口要求 application/json 却发了表单格式。 |
| 422 | Unprocessable Entity | 格式正确但语义校验失败(如邮箱格式不对)。Spring 校验失败常用 400 或 422。 |
| 429 | Too Many Requests | 触发限流。爬虫、接口刷量被限速。响应头通常带 Retry-After。 |
| 500高频 | Internal Server Error | 服务端代码异常(空指针、SQL 报错等)。排查:看应用日志堆栈。 |
| 501 | Not Implemented | 服务端不支持该请求方法(如服务器未实现 PUT)。 |
| 502高频 | Bad Gateway | 网关/反向代理收到了上游的无效响应。常见:后端进程挂了、端口不通、PHP-FPM 崩溃。 |
| 503高频 | Service Unavailable | 服务暂时不可用:过载、维护、熔断。爬虫触发限流也可能返回 503。 |
| 504高频 | Gateway Timeout | 网关等上游响应超时。常见:慢 SQL、下游服务卡死。排查 Nginx proxy_read_timeout 与下游耗时。 |
没有匹配的状态码
HTTP 状态码说明
HTTP 状态码由三位数字组成,首位表示类别:1xx 信息性响应、2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务器错误。
排错速记:4xx 先查自己(URL、参数、登录态、权限、Content-Type),5xx 查服务端(应用日志、网关到后端的连通性、下游超时)。401 与 403 的区别在于身份是否明确;502 与 504 的区别在于上游是「回错了」还是「没回」。
常见误区:HTTP 200 只代表传输成功,业务成败要看响应体中的业务码;所有接口无论成败都返回 200 是常见但并不推荐的做法,监控和网关统计会因此失效。