HTTP 状态码

HTTP 状态码参考

开发者工具

如何使用 HTTP 状态码

  1. 1搜索代码编号或关键词
  2. 2按类别浏览(2xx、3xx 等)
  3. 3点击任何代码查看完整详情

关于 HTTP 状态码

HTTP 状态码是所有标准和常用 HTTP 响应状态码的综合参考,按类别组织。每个代码包含通俗英语描述、适当使用场景以及真实世界示例。

HTTP 状态码是服务器传达请求结果的主要机制。每个使用 REST API 的开发者都需要知道 200、201、204、301、400、401、403、404、422、429 和 500 的含义。

按代码编号、类别(1xx-5xx)或关键词搜索或过滤,即可即时找到任何代码。所有内容在您的浏览器中静态加载——无需服务器请求。

HTTP 状态码的主要功能

  • 所有标准 HTTP 状态码(1xx-5xx)的完整参考
  • 包含非标准但广泛使用的代码:418、429、451
  • 每个代码的通俗英语描述
  • 按代码编号或关键词搜索
  • 按类别过滤:1xx 信息、2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务器错误
  • 每个代码的常见用例和示例
  • 完全在浏览器内运行,无服务器请求
  • 快速即时搜索,无加载延迟

示例

查找成功资源创建的正确代码

找出从创建新资源的 POST 端点返回哪个 2xx 代码。

输入

搜索: "created" 或代码 201

输出

201 Created——在创建新资源时使用。包含指向新资源 URL 的 Location 头。

找到速率限制 API 响应的正确错误代码

确定传达客户端超过 API 速率限制的标准代码。

输入

搜索: "rate limit" 或代码 429

输出

429 Too Many Requests——包含 Retry-After 头,指示客户端何时可以重试。

常见使用场景

  • 查找从 REST API 端点返回的正确状态码
  • 通过理解特定代码的含义来调试 HTTP 错误
  • 为不同响应类别设计 API 客户端代码中的错误处理
  • 在构建或记录 API 时学习 HTTP 语义
  • 审查 API 设计以检查状态码是否使用得当
  • 在开发过程中不离开浏览器标签页即可快速参考

故障排除

对包括错误在内的所有响应都使用 200 OK

解决方案

始终使用语义上正确的状态码。在响应体中返回 200 并附带错误会破坏 HTTP 语义。

混淆 401 和 403

解决方案

401 未授权表示客户端未通过身份验证。403 禁止表示客户端已通过身份验证但缺乏权限。

对身份验证失败使用 404

解决方案

对受保护资源返回 404 是一种防止枚举的安全技术,但可能会让合法客户端感到困惑。请清楚地记录您的选择。

常见问题

是否列出了所有 HTTP 状态码?

是的。所有标准 RFC 7231 状态码加上常用的非官方代码(如 418(我是茶壶)、429(请求过多)和 451(出于法律原因不可用))都已包含。

401 和 403 有什么区别?

401 未授权表示请求需要身份验证。403 禁止表示服务器理解请求但拒绝授权。

什么时候应该使用 200 vs 201 vs 204?

成功的 GET 请求用 200 OK,成功创建资源的 POST 请求用 201 Created,不返回响应体的 DELETE 或 PATCH 用 204 No Content。

422 不可处理实体是什么意思?

422 表示请求格式良好但语义上不正确。在 REST API 中常用于验证错误。

重定向的正确状态码是什么?

永久 URL 更改用 301 永久移动,临时重定向用 302 Found,在重定向期间保留 HTTP 方法用 307/308。

什么时候应该返回 503 而不是 500?

500 内部服务器错误表示意外故障。503 服务不可用表示服务器暂时无法处理请求。

我的数据会被发送到服务器吗?

不会。状态码参考在您的浏览器中静态加载。不会传输任何查询或交互。

1xx 状态码范围是什么意思?

1xx 代码是信息性的——它们表示请求已收到且处理正在继续。最常见的是 100 Continue。