HTTP 状态码完全参考:1xx-5xx 全部含义 + 实战排查

打开浏览器开发者工具,看到 404 你知道是找不到,500 是服务器炸了——但 418 是什么?502504 差在哪?422 为什么比 400 更准确?

✍️ 作者:DevToolbox 技术团队📅 更新于:2026-06-24📎 引用:RFC 7231 — HTTP/1.1 语义与内容
MDN: HTTP 状态码RFC 7231 — HTTP/1.1 语义与内容
MDN: HTTP 状态码

📌 本文关键结论(TL;DR)

  • HTTP 状态码完全参考:1xx-5xx 全部含义 + 实战 是开发者常用的解决方案之一
  • 本文基于 RFC 标准实战经验编写
  • 提供免费在线工具,浏览器本地处理,数据不上传
  • 文末有 FAQ 区块解答常见疑问,可直接复制使用
✍️ 作者:DevToolbox 技术团队📅 更新于:2026-06-24

📌 本文关键结论(TL;DR)

  • HTTP 状态码完全参考:1xx-5xx 全部含义 + 实战 是开发者常用的解决方案之一
  • 本文基于 RFC 标准实战经验编写
  • 提供免费在线工具,浏览器本地处理,数据不上传
  • 文末有 FAQ 区块解答常见疑问,可直接复制使用

HTTP 状态码是 Web 开发的"通用语言"。本文按 5 大类梳理全部常用状态码、解释易混淆的对比、并给出真实排查步骤。文末推荐 DevToolbox HTTP 状态码参考——可搜索 + 复制。

一、5 大类速览

类别 范围 含义
1xx 信息100-199请求已收到,继续处理
2xx 成功200-299请求成功
3xx 重定向300-399需要进一步操作
4xx 客户端错误400-499请求有误
5xx 服务器错误500-599服务器处理失败

二、2xx 成功:最常用 5 个

  • 200 OK:请求成功,最常见的成功码
  • 201 Created:资源创建成功(POST 后常用)
  • 204 No Content:成功但无返回内容(DELETE 后常用)
  • 206 Partial Content:部分内容(断点续传)

三、3xx 重定向:3 个关键

  • 301 Moved Permanently:永久重定向(SEO 权重转移)
  • 302 Found:临时重定向(旧标准,现多用 307)
  • 304 Not Modified:缓存命中(协商缓存)
  • 307 Temporary Redirect:保持 HTTP 方法的临时重定向

四、4xx 客户端错误:必知 8 个

  • 400 Bad Request:请求语法错误
  • 401 Unauthorized:未认证(需要登录)
  • 403 Forbidden:已认证但无权限
  • 404 Not Found:资源不存在(最常见)
  • 405 Method Not Allowed:HTTP 方法不支持(如对 GET 资源发 POST)
  • 409 Conflict:资源冲突(重复创建、版本冲突)
  • 422 Unprocessable Entity:语法对但语义错(REST API 推荐)
  • 429 Too Many Requests:限流(Rate Limit)

422 vs 400400 是"看不懂你的请求"(JSON 写错),422 是"看懂了但业务上不合理"(邮箱格式不对)。REST API 推荐用 422 表达业务校验失败。

五、5xx 服务器错误:5 个排查重点

  • 500 Internal Server Error:服务器代码异常(查应用日志)
  • 502 Bad Gateway:上游服务无响应(Nginx 后端挂了)
  • 503 Service Unavailable:服务暂时不可用(过载/维护)
  • 504 Gateway Timeout:上游响应超时(Nginx 后端太慢)

502 vs 504 排查思路

  • 502:Nginx 连不上后端(端口没开 / 进程死了 / 防火墙)→ netstat -tlnp | grep 端口
  • 504:连上了但超时(数据库慢查询 / 死循环 / 远程 API 卡住)→ tail -f /var/log/nginx/error.log + 应用日志

六、3 个有趣的彩蛋状态码

  • 418 I'm a teapot:1998 年愚人节 RFC,服务器拒绝煮咖啡 ☕
  • 451 Unavailable For Legal Reasons:因法律原因不可用(如 DMCA 删资源)
  • 511 Network Authentication Required:需要网络认证(公共 Wi-Fi 常见)

七、REST API 设计实战建议

写 API 时状态码选错会导致客户端处理困难。规范参考:

  • GET 单个:200 / 404
  • GET 列表:200(永远 200,列表为空放在 body)
  • POST 创建:201(成功)/ 422(字段校验失败)
  • PUT/PATCH 更新:200 / 404 / 422
  • DELETE 删除:204 / 404
  • 未登录:401
  • 无权限:403

八、结语

HTTP 状态码是 Web 世界的"全球通用语"。背下常用 15 个 + 理解 5xx 排查思路,能省掉 80% 的调试时间。

查表推荐 DevToolbox HTTP 状态码参考——支持关键词搜索(如 "404" 或 "网关"),点击即可复制标准文本。

相关工具:HTTP 状态码参考 · 正则表达式测试 · JSON 格式化

八、常见问题 FAQ

Q: HTTP 状态码是什么?

HTTP 状态码是服务器对浏览器请求的 3 位数字响应。1xx 信息、2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务器错误。

Q: 404 和 500 有什么区别?

404 = 资源不存在(客户端错误,可能 URL 输错),500 = 服务器内部错误(服务端代码 bug)。403 = 无权限,401 = 未认证,502 = 网关错误。

Q: 200 OK 但页面是错误内容怎么办?

这是 SEO 大忌,叫"软 404"。Google 可能误判页面为正常但其实无价值。正确做法:返回真实 404 或 410,并加 noindex 标记。

🧰
添加到主屏幕
离线也能用,秒开不等待