HTTP 状态码
HTTP 状态码参考
如何使用 HTTP 状态码
- 1搜索代码编号或关键词
- 2按类别浏览(2xx、3xx 等)
- 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。