开发辅助

HTTP 状态码大全

按分类浏览全部 HTTP 状态码,含含义与常见原因。

仅在浏览器本地运行

收录 72 个状态码:RFC 标准码以及 nginx、Cloudflare 等广泛使用的扩展,并按分类给出常见原因。

信息性响应

请求已收到,服务器正在继续处理。

4 个
  • 100

    Continue 继续

    服务器已收到请求头,客户端可以继续发送请求体。

  • 101

    Switching Protocols 切换协议

    服务器同意客户端发起的协议切换请求。

    常见原因 WebSocket 握手成功时的正常响应。

  • 102

    Processing 处理中

    服务器已收到请求,仍在处理中。

    常见原因 WebDAV 扩展,用于避免长时间请求被判定超时。

  • 103

    Early Hints 早期提示

    在最终响应之前发送的预告响应。

    常见原因 让浏览器在服务器计算期间就按 Link 头预加载资源。

成功

请求已被成功接收、理解并处理。

10 个
  • 200

    OK 成功

    请求成功,响应体中包含结果。

  • 201

    Created 已创建

    已创建新资源,通常会带有 Location 头。

  • 202

    Accepted 已接受

    请求已被接受,但尚未处理完成。

    常见原因 异步任务的典型响应,之后需要轮询结果。

  • 203

    Non-Authoritative Information 非授权信息

    响应来自做过转换的代理,而不是源服务器原始内容。

  • 204

    No Content 无内容

    请求成功,且有意不返回响应体。

    常见原因 DELETE 与 PUT 常用;此时返回响应体属于协议错误。

  • 205

    Reset Content 重置内容

    客户端应重置文档视图,例如清空表单。

  • 206

    Partial Content 部分内容

    仅返回请求的那一段字节范围。

    常见原因 断点续传与视频拖动播放依赖这个状态码。

  • 207

    Multi-Status 多状态

    响应体包含多个互相独立的状态结果。

    常见原因 WebDAV 扩展,PROPFIND 等批量操作会用到。

  • 208

    Already Reported 已报告

    绑定成员已在前面的响应中报告,不再重复。

    常见原因 WebDAV 扩展,避免同一资源被重复枚举。

  • 226

    IM Used 已使用实例操纵

    服务器完成了对资源的增量编码请求。

    常见原因 较少见,与 Delta 编码扩展相关。

重定向

客户端需要进一步操作才能完成请求。

8 个
  • 300

    Multiple Choices 多种选择

    存在多种可选表示,客户端应自行选择。

  • 301

    Moved Permanently 永久移动

    资源已永久迁移到新的 URL。

    常见原因 搜索引擎会把权重转移到新地址,适合真正的迁移。

  • 302

    Found 临时移动

    资源临时位于另一个 URL。

    常见原因 历史上浏览器会把 POST 改成 GET,需要保留方法时用 307。

  • 303

    See Other 查看其他位置

    可以用 GET 请求从另一个 URL 获取结果。

    常见原因 POST 提交成功后的标准重定向方式。

  • 304

    Not Modified 未修改

    缓存副本仍然有效,因此不返回响应体。

    常见原因 由 If-None-Match 或 If-Modified-Since 触发,不是错误。

  • 305

    Use Proxy 使用代理

    必须通过指定的代理访问该资源。

    常见原因 出于安全考虑已废弃,新代码不应再使用。

  • 307

    Temporary Redirect 临时重定向

    临时重定向,且保持原有的请求方法与请求体。

  • 308

    Permanent Redirect 永久重定向

    永久重定向,同样保持原有请求方法与请求体。

    常见原因 当 POST 必须保持为 POST 时应使用它而不是 301。

客户端错误

问题出在请求本身:语法错误、缺少凭据或没有权限。

31 个
  • 400

    Bad Request 请求错误

    请求语法或参数有误,服务器无法处理。

    常见原因 优先检查请求体、查询参数与 Content-Type。

  • 401

    Unauthorized 未认证

    需要身份认证,但凭据缺失或无效。

    常见原因 名字有误导性:它表示"未认证",而不是"无权限"。

  • 402

    Payment Required 需要付费

    为付费访问保留,如今很少按原意使用。

    常见原因 部分 API 在套餐额度用尽时返回该状态码。

  • 403

    Forbidden 禁止访问

    服务器理解请求,但拒绝授权。

    常见原因 凭据有效但权限不足,重试没有意义。

  • 404

    Not Found 未找到

    服务器找不到与请求 URL 匹配的资源。

    常见原因 检查路径拼写,以及服务器是否注册了该路由。

  • 405

    Method Not Allowed 方法不允许

    资源存在,但不支持该 HTTP 方法。

    常见原因 查看响应中的 Allow 头可知支持哪些方法。

  • 406

    Not Acceptable 不可接受

    没有符合客户端 Accept 头要求的表示形式。

    常见原因 常见于 Accept 或 Accept-Language 头要求过严。

  • 407

    Proxy Authentication Required 需要代理认证

    客户端需要先向代理服务器进行认证。

    常见原因 出现在需要凭据的企业代理之后。

  • 408

    Request Timeout 请求超时

    服务器等待请求剩余部分时超时。

    常见原因 通常是客户端网络慢或连接中断,而非服务端问题。

  • 409

    Conflict 冲突

    请求与资源当前状态发生冲突。

    常见原因 典型场景:两个写入方并发更新同一条记录。

  • 410

    Gone 已删除

    资源曾经存在,但已被永久移除。

    常见原因 与 404 不同,它明确告知客户端不要再请求并移除链接。

  • 411

    Length Required 需要内容长度

    请求缺少 Content-Length 头。

    常见原因 POST 与 PUT 必须声明请求体长度;使用分块编码可避免该头。

  • 412

    Precondition Failed 前置条件失败

    If-Match 等条件请求头判断为假。

    常见原因 用于乐观锁;应重新读取资源后再重试。

  • 413

    Content Too Large 内容过大

    请求体超过服务器允许的大小限制。

    常见原因 需要调大 nginx 的 client_max_body_size 或上游的同类限制。

  • 414

    URI Too Long URI 过长

    请求的 URL 超过服务器愿意解析的长度。

    常见原因 常见于把过多数据塞进 GET 查询串。

  • 415

    Unsupported Media Type 不支持的媒体类型

    该请求体格式不被此方法与资源支持。

    常见原因 确认 Content-Type 与接口解析格式一致,例如 application/json。

  • 416

    Range Not Satisfiable 范围无法满足

    请求的字节范围无法满足。

    常见原因 通常是过期的 Range 头指向了文件末尾之外。

  • 417

    Expectation Failed 期望失败

    Expect 头中给出的期望无法被满足。

    常见原因 代理无法满足 Expect: 100-continue 时会出现。

  • 418

    I'm a teapot 我是茶壶

    源自愚人节玩笑,作为彩蛋一直保留至今。

    常见原因 有时被用来有意拦截不受欢迎的爬虫。

  • 421

    Misdirected Request 请求被错误定向

    连接被复用于服务器无法服务的域名。

    常见原因 常见于 HTTP/2 连接合并与 SNI 不匹配时。

  • 422

    Unprocessable Content 无法处理的实体

    语法正确,但内容未通过语义校验。

    常见原因 表单校验或 Schema 校验失败时的常见响应。

  • 423

    Locked 已锁定

    资源已被锁定,无法修改。

    常见原因 WebDAV 扩展,用于协同编辑场景。

  • 424

    Failed Dependency 依赖失败

    由于同一批次中的前置请求失败,本请求也失败。

    常见原因 WebDAV 扩展,通常与 207 多状态配合出现。

  • 425

    Too Early 过早

    服务器拒绝处理可能被重放的请求。

    常见原因 针对无法安全重放的 TLS 早期数据(0-RTT)。

  • 426

    Upgrade Required 需要升级

    客户端必须切换到其他协议,通常是 TLS。

    常见原因 拒绝明文 HTTP 的服务器会返回该状态码。

  • 428

    Precondition Required 需要前置条件

    服务器要求该请求必须是条件请求。

    常见原因 用于防止并发编辑造成的更新丢失。

  • 429

    Too Many Requests 请求过多

    客户端在给定时间内发送了过多请求。

    常见原因 查看 Retry-After 头确定重试时间,并做退避。

  • 431

    Request Header Fields Too Large 请求头过大

    请求头超过服务器允许的大小。

    常见原因 常见于过大的 Cookie;确需支持时调大 large_client_header_buffers。

  • 451

    Unavailable For Legal Reasons 因法律原因不可用

    资源因法律或监管原因被屏蔽。

    常见原因 命名取自《华氏 451 度》,用于地域或法院要求的屏蔽。

  • 444

    No Response 无响应 nginx

    服务器直接关闭连接,不返回任何内容。

    常见原因 nginx 专有;通常是 nginx 主动丢弃可疑或滥用连接。

  • 499

    Client Closed Request 客户端关闭请求 nginx

    服务器尚未返回结果,客户端就断开了连接。

    常见原因 nginx 在客户端放弃时记录该码;应排查后端响应过慢。

服务端错误

请求本身看起来正常,但服务器处理失败。

19 个
  • 500

    Internal Server Error 服务器内部错误

    服务器遇到无法处理的意外情况。

    常见原因 请查看服务端日志:通常与请求内容无关。

  • 501

    Not Implemented 未实现

    服务器不支持所要求的功能。

    常见原因 常见于该路由未实现对应的 HTTP 方法。

  • 502

    Bad Gateway 网关错误

    网关或代理从上游收到了无效响应。

    常见原因 通常是后端进程已停止,或在响应中途崩溃。

  • 503

    Service Unavailable 服务不可用

    服务器暂时无法处理请求。

    常见原因 过载或维护中;Retry-After 可能给出恢复时间。

  • 504

    Gateway Timeout 网关超时

    网关或代理未能及时收到上游响应。

    常见原因 需要调大代理读取超时,或优化后端处理速度。

  • 505

    HTTP Version Not Supported HTTP 版本不支持

    服务器不支持请求中使用的 HTTP 版本。

    常见原因 如今较少见,主要是仅支持 HTTP/1.1 的服务器收到更新的协议。

  • 506

    Variant Also Negotiates 变体也会协商

    内容协商配置错误,导致自我循环。

    常见原因 属于服务器配置缺陷,而非客户端问题。

  • 507

    Insufficient Storage 存储空间不足

    服务器无法存储完成请求所需的表示。

    常见原因 WebDAV 扩展;请检查服务器磁盘与配额。

  • 508

    Loop Detected 检测到循环

    服务器在处理请求时检测到无限循环。

    常见原因 WebDAV 扩展,通常是集合层级出现环。

  • 510

    Not Extended 未扩展

    需要对请求做进一步扩展才能完成。

    常见原因 属于未被广泛采用的 HTTP 扩展框架,实际很少遇到。

  • 511

    Network Authentication Required 需要网络认证

    客户端需要通过认证才能获得网络访问权限。

    常见原因 酒店与机场 Wi-Fi 的登录门户页面就是它。

  • 520

    Web Server Returned an Unknown Error 源站返回未知错误 Cloudflare

    Cloudflare 从源站收到空响应或未知响应。

    常见原因 检查源站日志,确认进程是否在请求中途崩溃。

  • 521

    Web Server Is Down 源站已下线 Cloudflare

    源站拒绝连接,Cloudflare 无法建立连接。

    常见原因 Web 服务未运行,或防火墙拦截了 Cloudflare 的 IP。

  • 522

    Connection Timed Out 连接超时 Cloudflare

    与源站的 TCP 握手超时。

    常见原因 源站防火墙静默丢弃了来自 Cloudflare 的数据包。

  • 523

    Origin Is Unreachable 源站不可达 Cloudflare

    Cloudflare 完全无法到达源站。

    常见原因 通常是源站 IP 填写错误或 DNS 记录异常。

  • 524

    A Timeout Occurred 响应超时 Cloudflare

    源站已接受连接,但响应时间过长。

    常见原因 源站超过 Cloudflare 的 100 秒上限;应优化慢接口。

  • 525

    SSL Handshake Failed SSL 握手失败 Cloudflare

    Cloudflare 与源站之间的 TLS 握手失败。

    常见原因 检查源站证书、加密套件与 TLS 版本。

  • 526

    Invalid SSL Certificate SSL 证书无效 Cloudflare

    无法验证源站的证书。

    常见原因 证书已过期、自签名,或与域名不匹配。

  • 527

    Railgun Listener to Origin Error Railgun 到源站出错 Cloudflare

    Railgun 与源站之间的连接失败。

    常见原因 属于已停用的 Railgun 特性;可重试或关闭 Railgun。

使用方法

按 1xx–5xx 分类列出全部状态码,每个错误码都标注常见原因,便于排查接口问题。

CodeTK 不会上传、保存或分析工具输入内容。刷新页面后,您的输入仍只保存在当前浏览器中。