跳转到内容
搜索文档

1xx 信息性响应

最后更新 查看 MarkdownAgent 设置

1xx 信息性状态码用作中间响应,用于提供连接状态更新,而不完成请求-响应周期。这些代码并非用于最终操作,而是用于指示请求正在处理中或需要额外步骤。

服务器在响应客户端请求时发送 1xx 信息性状态码必须遵循的要求包括:

  • 响应必须以状态行后的第一个空行终止。
  • HTTP/1.0 不支持 1xx 响应;源站服务器绝不应向 HTTP/1.0 客户端发送 1xx 响应。

Cloudflare 会转发源站服务器的所有 1xx 响应,但不会直接生成这些响应。

100 Continue

100 Continue 状态表示服务器已收到请求头,并准备好让客户端发送请求体。更多信息请参阅 RFC 7231

常见用例

允许客户端在发送可能较大或不可用的请求体之前,验证服务器是否会接受其请求头,从而优化数据流。

当客户端包含 Expect: 100-continue 标头时,表示在发送请求体之前请求确认,提示服务器立即以 100 Continue 继续,或以适当的状态码响应(例如 401 Unauthorized413 Payload Too Large)表示请求不可接受。

Cloudflare 特定信息

Cloudflare 使用 Keep-Alive 连接来维持客户端与服务器之间的持久通信,因此通常不需要 100 Continue 响应,因为 Keep-Alive 可减少开销并消除中间确认的需要。

101 Switching Protocols

101 Switching Protocols 状态码表示源站服务器接受客户端切换协议的请求。更多信息请参阅 RFC 7231

常见用例

101 Switching Protocols 状态码表示服务器已接受客户端更改协议的请求,方式可以是包含 Upgrade 标头,或更改连接上的应用协议。使用 Upgrade 标头时,服务器同意切换到客户端优先级列表中更高的协议,并以 Upgrade 标头响应以指定新协议。此更改被假定对客户端和服务器均有益,最常见的用例是 WebSockets。

Cloudflare 特定信息

Cloudflare 支持 WebSocket 连接,其中经常涉及 101 Switching Protocols 状态码。协议切换允许客户端建立 WebSocket 连接,以实现实时双向通信。有关 Cloudflare WebSockets 的信息,请参阅 Cloudflare Now Supports Websockets

102 Processing

102 Processing 状态码表示服务器已收到请求且正在处理,但最终响应尚未就绪。此状态码仅适用于 HTTP/1.1 及更高版本。更多信息请参阅 RFC 2518

常见用例

102 Processing 状态码常用于需要长时间运行的场景,例如复杂数据库事务或大型文件处理。它有助于在通常超过 20 秒的扩展处理时间内维持连接,确保客户端与服务器在整个操作期间高效通信。

Cloudflare 特定信息

如果 Cloudflare 收到 102 Processing 响应,它期望在 125 秒内收到最终响应。未能收到该响应会导致 错误 522:连接超时。但是,发送中间 102 Processing 响应有助于防止 错误 524:发生超时,确保服务器处理请求时连接保持活跃。

这篇文档对您有帮助吗?