HTTP

HTTP 状态码速查 纯前端 · 免登录

HTTP 状态码完整对照表,含含义说明与常见场景

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

相关工具