服务器已收到请求标头,客户端可以继续发送请求正文。客户端在上传较大的请求正文前发送“Expect: 100-continue”时会遇到此状态码。
定义于 RFC 9110
服务器同意切换到客户端在 Upgrade 标头中请求的协议。连接升级为 WebSocket 时会遇到此状态码。
定义于 RFC 9110
服务器已接受 WebDAV 请求,但尚未处理完成。此状态码已从后续的 WebDAV 规范中移除,如今很少使用。
定义于 RFC 2518
在最终响应发出前发送,以便浏览器预加载 Link 标头中列出的资源。CDN 和服务器会用它来加快页面加载。
定义于 RFC 8297
请求成功,响应中包含结果。这是页面加载或 API 调用成功时的常见响应。
定义于 RFC 9110
请求成功并创建了新资源,通常由 Location 标头指定。成功 POST 请求并创建记录后,通常会返回此状态码。
定义于 RFC 9110
请求已被接受处理,但尚未完成。用于将任务加入队列的 API,例如导出或批量任务。
定义于 RFC 9110
203 Non-Authoritative Information
请求成功,但转换代理修改了源服务器返回的内容。
定义于 RFC 9110
请求成功,没有内容需要返回。常用于 DELETE 请求,以及客户端不需要响应正文的数据保存操作。
定义于 RFC 9110
请求成功,客户端应重置文档视图,例如清空表单。此状态码很少使用。
定义于 RFC 9110
服务器只返回客户端请求的字节范围。视频流播放、下载续传或客户端发送 Range 标头时会遇到此状态码。
定义于 RFC 9110
WebDAV 响应,XML 正文中包含多个资源各自的状态码。
定义于 RFC 4918
在 WebDAV 207 响应中使用,以避免重复列出同一绑定资源的成员。
定义于 RFC 5842
服务器对当前资源应用了实例操作(例如差异编码)。这种状态码极少出现。
定义于 RFC 3229
该资源有多个表示形式,客户端应选择其中一种。实际使用中很少见。
定义于 RFC 9110
该资源已永久迁移到 Location 标头指定的 URL。浏览器和搜索引擎会更新链接;部分客户端在跟随此重定向时会将 POST 改为 GET。
定义于 RFC 9110
该资源暂时位于 Location 标头指定的另一个 URL。常用于登录后跳转和短期重定向;浏览器通常会使用 GET 跟随此重定向。
定义于 RFC 9110
客户端应使用 GET 从另一个 URL 获取结果。常用于表单 POST 后跳转到确认页面(Post/Redirect/Get 模式)。
定义于 RFC 9110
缓存副本仍然有效,因此服务器不发送正文。浏览器使用 If-None-Match 或 If-Modified-Since 重新验证缓存文件时会遇到此状态码。
定义于 RFC 9110
要求客户端使用 Location 标头指定的代理。出于安全原因,此状态码已弃用,浏览器会忽略它。
定义于 RFC 9110
已保留。该状态码曾用于 HTTP/1.1 的早期草案,现已不再使用。
定义于 RFC 9110
资源临时位于另一个 URL,客户端必须使用相同的方法和请求正文重新发送请求。浏览器也会在内部将 HTTP 重定向到 HTTPS 时使用此状态码。
定义于 RFC 9110
资源已永久移动,客户端必须在新的 URL 使用相同的方法和请求正文。它是 307 的永久版本,可安全用于重定向 POST 请求。
定义于 RFC 9110
服务器无法处理该请求,因为请求格式有误,例如 JSON 无效、查询参数错误或 Cookie 已损坏。
定义于 RFC 9110
请求缺少有效的身份验证凭据。尽管名称如此,它的含义是“未通过身份验证”;服务器会发送 WWW-Authenticate 标头,说明登录方式。
定义于 RFC 9110
在 HTTP 规范中为将来使用而保留。某些 API 和支付服务会在需要付款或订阅时使用此状态码。
定义于 RFC 9110
服务器理解该请求,但拒绝处理;重新登录也无济于事。权限不足、目录列表已禁用或防火墙阻止客户端时,都可能出现此状态码。
定义于 RFC 9110
服务器找不到所请求的资源。通常是链接拼写错误或已过期、页面已删除,或 API 路由错误。
定义于 RFC 9110
资源存在,但不支持所用的 HTTP 方法,例如向只读 URL 发送 POST 请求。响应会在 Allow 标头中列出允许使用的方法。
定义于 RFC 9110
服务器无法生成符合客户端 Accept 标头中任一格式的响应。
定义于 RFC 9110
407 Proxy Authentication Required
与 401 类似,但客户端必须先通过代理服务器的身份验证。使用需要身份验证的代理服务器时,企业网络中可能会出现此状态码。
定义于 RFC 9110
服务器等待客户端完成发送请求时超时。网络连接缓慢或中断时可能会出现此状态码。
定义于 RFC 9110
请求与资源的当前状态冲突,例如编辑冲突,或尝试创建已存在的内容。
定义于 RFC 9110
资源已被永久移除,且不会恢复。与 404 不同,此状态码会告知搜索引擎更快地从索引中移除该 URL。
定义于 RFC 9110
服务器要求提供 Content-Length 标头,但请求中未包含该标头。
定义于 RFC 9110
请求标头中的某项条件(例如 If-Match)未满足。此状态码用于防止覆盖客户端上次读取后已发生变化的资源。
定义于 RFC 9110
请求正文超出服务器可接受的大小。上传文件超过限制时可能会出现此状态码,例如超过 nginx 的 client_max_body_size 限制。
定义于 RFC 9110
URL 超出服务器可处理的长度。通常是表单通过 GET 发送了过多数据,或重定向循环不断追加参数所致。
定义于 RFC 9110
415 Unsupported Media Type
服务器不支持请求正文的格式,例如向要求 application/json 的端点发送 XML。
定义于 RFC 9110
416 Range Not Satisfiable
Range 标头中请求的字节范围超出了资源大小。
定义于 RFC 9110
服务器无法满足客户端 Expect 标头中的要求。
定义于 RFC 9110
源自 1998 年愚人节玩笑《超文本咖啡壶控制协议》:茶壶拒绝冲泡咖啡。HTTP 将此状态码保留为未使用状态,但一些服务器会将它作为彩蛋返回,或用来拒绝不受欢迎的机器人。
定义于 RFC 2324 / RFC 9110 (Unused)
非标准状态码。Laravel 会在表单的 CSRF 令牌缺失或过期时返回此状态码,通常是因为会话超时。
定义于 Laravel
非标准状态码。旧版 Twitter API 曾用它表示速率限制;此类情况的标准状态码是 429。
定义于 Twitter API v1
请求到达的服务器无法为该主机生成响应,例如 HTTP/2 连接被复用于另一个域名时。
定义于 RFC 9110
422 Unprocessable Content
请求格式正确,但内容无效,例如表单未通过验证规则。API 广泛使用此状态码表示验证错误。
定义于 RFC 9110
WebDAV 资源已锁定,无法修改。
定义于 RFC 4918
WebDAV 请求失败,因为其依赖的另一项操作失败。
定义于 RFC 4918
服务器不会处理可能被重放的请求,例如通过 TLS 1.3 早期数据发送的请求。
定义于 RFC 8470
服务器拒绝使用当前协议处理请求,并在 Upgrade 标头中指出所需协议。
定义于 RFC 9110
428 Precondition Required
服务器要求使用条件请求(例如包含 If-Match),以防止更新丢失。
定义于 RFC 6585
客户端在指定时间内发送了过多请求。API 会用此状态码表示速率限制,通常还会包含 Retry-After 标头,说明何时可以重试。
定义于 RFC 6585
431 Request Header Fields Too Large
请求标头过大,通常是因为 Cookie 数量过多或体积过大。清除该网站的 Cookie 通常可以解决问题。
定义于 RFC 6585
非标准状态码。nginx 在内部使用此状态码关闭连接而不发送响应,通常用于丢弃不需要的流量;客户端实际上不会收到此状态码。
定义于 nginx
451 Unavailable For Legal Reasons
由于法律原因(例如法院命令或政府审查),资源无法访问。该数字指向小说《华氏 451 度》。
定义于 RFC 7725
494 Request Header Too Large
非标准状态码。nginx 自有的 431 变体,用于记录请求标头超出其缓冲区限制的情况。
定义于 nginx
495 SSL Certificate Error
非标准状态码。客户端证书验证失败时,nginx 会返回此状态码。
定义于 nginx
496 SSL Certificate Required
非标准状态码。未提供必需的客户端证书时,nginx 会返回此状态码。
定义于 nginx
497 HTTP Request Sent to HTTPS Port
非标准状态码。向配置为 HTTPS 的端口发送普通 HTTP 请求时,nginx 会返回此状态码。
定义于 nginx
499 Client Closed Request
非标准状态码。客户端在服务器响应前关闭连接时,nginx 会记录此状态码,例如用户取消加载缓慢的页面,或客户端超时。
定义于 nginx
500 Internal Server Error
服务器遇到意外错误,无法完成请求。此通用错误可能由程序缺陷、崩溃或配置错误导致;具体信息可在服务器日志中查看。
定义于 RFC 9110
服务器不支持所需功能,例如不识别该 HTTP 方法。
定义于 RFC 9110
网关或代理服务器从上游服务器收到了无效响应。nginx 或负载均衡器后的应用程序崩溃或正在重启时,常会出现此状态码。
定义于 RFC 9110
服务器因过载或正在维护,暂时无法处理请求。Retry-After 标头可能会说明何时可以重试。
定义于 RFC 9110
网关或代理未能及时收到上游服务器的响应。常见原因是后端请求耗时过长,例如数据库查询时间过长。
定义于 RFC 9110
505 HTTP Version Not Supported
服务器不支持请求中使用的 HTTP 版本。
定义于 RFC 9110
506 Variant Also Negotiates
服务器的内容协商配置出错:选定的变体本身也被配置为进行内容协商。
定义于 RFC 2295
服务器无法存储完成请求所需的内容,例如 WebDAV 服务器磁盘已满。
定义于 RFC 4918
服务器发现无限循环,因此停止了 WebDAV 操作。
定义于 RFC 5842
509 Bandwidth Limit Exceeded
非标准状态码。某些共享主机环境(如 Apache 模块、cPanel)会在网站超出带宽限额时使用此状态码。
定义于 Apache / cPanel
需要进一步扩展才能完成请求。此状态码由一项现已废弃的实验性规范定义。
定义于 RFC 2774
511 Network Authentication Required
客户端必须通过身份验证才能访问网络。酒店、机场或咖啡馆的 Wi-Fi 通常会在登录前通过强制门户发送此状态码。
定义于 RFC 6585
520 Web Server Returned an Unknown Error
非标准状态码。源服务器返回空响应、未知响应或意外响应时,Cloudflare 会返回此状态码。
定义于 Cloudflare
非标准状态码。源服务器拒绝连接时,Cloudflare 会返回此状态码。通常是因为 Web 服务器已停止运行,或阻止了 Cloudflare 的 IP 地址。
定义于 Cloudflare
非标准状态码。与源服务器建立 TCP 连接超时时,Cloudflare 会返回此状态码。
定义于 Cloudflare
523 Origin Is Unreachable
非标准状态码。无法连接到源服务器时,Cloudflare 会返回此状态码,例如发生 DNS 或路由问题时。
定义于 Cloudflare
非标准状态码。Cloudflare 已连接到源服务器,但未能在超时时间内(默认 100 秒)收到 HTTP 响应时,会返回此状态码。
定义于 Cloudflare
非标准状态码。与源服务器进行 SSL/TLS 握手失败时,Cloudflare 会返回此状态码。
定义于 Cloudflare
526 Invalid SSL Certificate
非标准状态码。源服务器的 SSL 证书无效且已启用 Full (strict) SSL 模式时,Cloudflare 会返回此状态码。
定义于 Cloudflare