HTTP

HTTP 状态码

所有 HTTP 状态码参考手册

API 与 HTTP
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 ToolsKit 编辑团队维护最近更新:2026年4月7日最近复核:2026年4月9日
页面模式

Quick CTA

先搜状态码或关键词,首屏直接锁定常见 HTTP status 并复制状态行;场景说明放在 Deep。

100
ContinueServer received headers
101
Switching ProtocolsProtocol upgrade accepted
200
OKRequest succeeded
201
CreatedResource created
204
No ContentSuccess without body
301
Moved PermanentlyPermanent redirect
302
FoundTemporary redirect
304
Not ModifiedUse cached content
307
Temporary RedirectRedirect with method preserved
308
Permanent RedirectPermanent redirect with method preserved
400
Bad RequestMalformed client request
401
UnauthorizedAuthentication required
403
ForbiddenPermission denied
404
Not FoundResource not found
405
Method Not AllowedMethod not supported
408
Request TimeoutClient request timeout
409
ConflictState conflict
410
GoneResource permanently removed
422
Unprocessable EntityValidation failed
429
Too Many RequestsRate limit exceeded
500
Internal Server ErrorUnexpected server failure
502
Bad GatewayInvalid upstream response
503
Service UnavailableTemporarily unavailable
504
Gateway TimeoutUpstream timeout
505
HTTP Version Not SupportedUnsupported HTTP version
页面阅读模式

Deep 展开踩坑、配方、片段、FAQ 与相关工具,适合排查问题或继续深入。

工具说明

完整可搜索的 HTTP 状态码参考手册。按分类过滤(1xx 信息、2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务端错误),或按状态码和描述搜索。每个状态码含详细说明和实际使用场景示例。

对比决策

404 vs 410

404

适合资源缺失或暂时找不到。

410

适合资源明确永久下线。

补充:两者都是否定响应,但 410 的永久性信号更强。

只在业务体里表达成功失败 vs 正确使用 HTTP 状态码

仅业务体表达

仅适合难以改造的历史系统。

状态码 + 业务体一致

适合现代 API 与可观测链路。

补充:HTTP 状态语义应在传输层表达,不应隐藏在 JSON 字段里。

统一 500 兜底 vs 精确 4xx/5xx 映射

统一 500

仅适合紧急止血短窗口。

精确映射

适合作为常态接口契约。

补充:精确映射能提升重试策略、用户提示与排障效率。

按语义重试 vs 全量盲目重试

按语义选择重试

适合 429/503 等临时性异常。

所有错误统一重试

不适合参数校验/业务拒绝类错误。

补充:重试策略应跟随状态语义,而不是全局开关。

快速处理 vs 受控流程

快速处理

适合低影响探索和快速本地核对。

受控流程

适合生产交付、审计留痕或跨团队交接。

补充:Http Status Codes 工具在发布前设置明确验收标准时更稳定。

直接执行 vs 分阶段校验

直接执行

适合一次性实验和临时排障。

分阶段+复核

适合结果会被下游系统复用的场景。

补充:分阶段校验可减少静默兼容性回退。

失败输入样例库

参数校验错误返回 500

失败输入:客户端字段格式错误,服务却返回 HTTP 500。

失败表现:客户端无意义重试,监控把用户错误误判为服务故障。

修复:可修复请求错误统一映射到 400/422,并返回修复提示。

鉴权失败用 200 + 错误体返回

失败输入:{"ok": false, "reason": "unauthorized"} 但状态码是 200。

失败表现:SDK 误判成功,不触发刷新令牌逻辑。

修复:鉴权失败统一使用 401/403。

把所有非 200 都当成服务故障

失败输入:告警规则把 4xx/5xx 统一定级。

失败表现:团队被客户端错误牵走,真正服务故障响应变慢。

修复:按状态码家族拆分告警通道和 runbook。

输入假设未归一化

失败输入:跨环境输入策略不一致。

失败表现:本地看似通过,但在下游消费阶段失败。

修复:导出前统一契约并强制执行预检。

兼容边界未显式声明

失败输入:兼容性假设隐式存在并持续漂移。

失败表现:同一源数据在不同环境得到不一致结果。

修复:明确兼容约束,并用独立消费端回归验证。

高频问题直答

Q01

为什么身边最好常备一个 HTTP 状态码工具?

因为 301/302、401/403、404/410 这类细节在高压开发里特别容易搞混。

Q02

是不是选一个“看起来差不多”的状态码就行?

不行,状态码会影响缓存、客户端行为和排障判断。

快速决策矩阵

请求方可自行修复后重试

建议选:使用 4xx 并附可执行修复说明。

谨慎用:请求参数或权限问题不要用 5xx。

服务不稳定或上游临时故障

建议选:使用 5xx,并提供重试建议和关联 ID。

谨慎用:不要返回 200 再在业务体里塞错误标记。

高峰期同时出现大量 4xx 与 5xx

建议选:先拆分契约回归(4xx)与运行容量问题(5xx)再决策。

谨慎用:避免只看总错误率就做统一回滚。

本地探索与临时诊断

建议选:使用快速处理并配轻量验证。

谨慎用:避免把探索结果直接升格为生产产物。

生产发布、合规留痕或跨团队交付

建议选:采用分阶段流程并保留验证记录。

谨慎用:避免无可回放证据的一步执行。

失败门诊(高频踩坑)

所有错误都回 500

原因:过于泛化的错误码会让客户端和团队都更难理解问题类型。

修复:尽量选择与实际错误类别更贴近的状态码。

场景配方

01

确认接口或页面该返回什么状态码

目标:在敲定响应行为或写文档前,先查清状态码真正含义。

  1. 按状态码或关键词搜索。
  2. 查看简要解释和细节说明。
  3. 在接口说明或排障记录里复用对应状态行。

结果:你可以减少“功能正常但信号错误”的响应设计问题。

02

按状态码家族做故障分流

目标:把 4xx/5xx 快速分流到不同责任路径,缩短恢复时间。

  1. 先按状态码家族聚合错误峰值。
  2. 4xx 走请求契约排查,5xx 走服务运行排查。
  3. 并行建立两条修复与回滚决策线。

结果:跨团队沟通更清晰,处置效率更高。

03

Http Status Codes 工具上线前预检:上线前检查清单

目标:让结果进入共享流程前先通过关键假设校验。

  1. 先跑代表性样本并记录输出结构。
  2. 按下游验收规则回放边界样例。
  3. 样本与边界都通过后再发布。

结果:交付更稳定,回滚和返工显著下降。

04

Http Status Codes 工具故障回放:上线后回归分析

目标:把重复故障沉淀为可复用诊断流程。

  1. 在隔离环境重建问题输入集。
  2. 按明确通过标准比对预期与实际。
  3. 沉淀值班可复用 runbook。

结果:恢复时长缩短,执行差异降低。

生产可用片段

状态行样例

http

HTTP/1.1 404 Not Found

推荐工作流

实战要点

状态码语义正确,客户端逻辑就会更简单。很多联调问题并不是数据错,而是状态码用错。

设计原则

2xx 表示成功、4xx 表示客户端可修复问题、5xx 表示服务端故障。

要清晰区分 400、401、403、404、422,这会直接影响重试与提示策略。

治理建议

把状态码约定写进接口文档,并在契约测试中强校验。

若修改语义,建议做版本或过渡期,避免直接打断现网客户端。

实操指南

HTTP 状态码 更适合放在真实输入与发布决策链路中使用,优先关注「请求方可自行修复后重试」这类高风险场景。

适用场景

  • 当场景是 请求方可自行修复后重试 时,可优先采用:使用 4xx 并附可执行修复说明。。
  • 当场景是 服务不稳定或上游临时故障 时,可优先采用:使用 5xx,并提供重试建议和关联 ID。。
  • 在 404 vs 410 场景下先对比 404 与 410 再落实现。

快速步骤

  1. 按状态码或关键词搜索。
  2. 查看简要解释和细节说明。
  3. 在接口说明或排障记录里复用对应状态行。

避免踩坑

  • 常见失败:客户端无意义重试,监控把用户错误误判为服务故障。
  • 常见失败:SDK 误判成功,不触发刷新令牌逻辑。

常见问题

401 和 403 有什么区别?

401 表示未认证或认证失败;403 表示已认证但无权限访问资源。

301 和 302 应该怎么选?

301 是永久重定向,通常用于长期迁移;302 是临时重定向,表示后续还会恢复原地址。

什么时候用 422,而不是 400?

400 常用于请求格式错误(如 JSON 语法错误);422 用于语法正确但业务校验失败。

5xx 错误一定是服务端代码问题吗?

不一定,也可能是网关、上游依赖、超时或资源限制导致,需要结合链路日志排查。

状态码说明可以直接复制到文档或工单吗?

可以。工具输出为结构化说明,适合用于 API 文档、排障记录和团队沟通。

这个工具会上传我的查询内容吗?

不会。查询和筛选都在浏览器本地执行,不会上传输入内容。