RUNWEBTOOLS
简体中文
网络与开发者

HTTP 状态码是什么意思

更新 2026-07-06

每次浏览器加载页面或应用调用 API,服务器都会用一个三位数状态码回复。大多数时候你根本看不到它,但一旦出问题 —— 404、500 —— 那个数字就是第一条线索。本指南教你一眼读懂状态码。

读首位数字

诀窍在于 首位数字告诉你类别,这样即使一个你从没见过的码,也能理解它的意图:

  • 1xx —— 信息(Informational): 已收到,仍在处理(日常使用中很少见)。
  • 2xx —— 成功(Success): 成功了。
  • 3xx —— 重定向(Redirection): 资源在别处。
  • 4xx —— 客户端错误(Client error): 请求错了(你这边)。
  • 5xx —— 服务器错误(Server error): 请求没问题,是服务器失败了。

调试时,4xx 与 5xx 的这道分界最有用:4xx 意味着去改请求;5xx 意味着是服务器的错。

你真正会遇到的码

成功与重定向

  • 200 OK —— 标准的“成功了”响应。
  • 201 Created —— 创建了一个新资源(在 POST 之后)。
  • 301 Moved Permanently —— 此 URL 已永久迁移;更新你的链接。对 SEO 很重要。
  • 302 Found —— 临时重定向;继续用原来的 URL。
  • 304 Not Modified —— 你缓存的副本仍然有效,所以什么都没重新发送。

客户端错误 (4xx)

  • 400 Bad Request —— 请求格式有误。
  • 401 Unauthorized —— 你需要认证(登录)。
  • 403 Forbidden —— 你已认证但不被允许。
  • 404 Not Found —— 资源不存在。
  • 429 Too Many Requests —— 你被限流了;慢一点。

服务器错误 (5xx)

  • 500 Internal Server Error —— 一个通用的服务器端故障。
  • 502 Bad Gateway —— 上游的服务器返回了一个错误的响应。
  • 503 Service Unavailable —— 服务器过载,或因维护而下线。
  • 504 Gateway Timeout —— 上游服务器没有及时响应。

401 vs. 403:一个常见的混淆

这两个感觉相似,但差在一个词。401 Unauthorized 其实意思是“未认证(unauthenticated)”—— 服务器不知道你是谁,所以去登录。403 Forbidden 意思是服务器知道你是谁,却仍然不允许。一个关乎身份,另一个关乎权限。

完整清单

要看每一个已注册的码及其含义 —— 可搜索、按类分组 —— 见我们的 完整 HTTP 状态码参考。如果你在调试 API 响应,我们关于 JWTURL 编码 的指南讲了你会不断遇到的另外两样东西。

更多 网络与开发者

查看全部 网络与开发者 指南 →

本指南提到的工具