跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

响应正文检查

最后更新 查看 MarkdownAgent 设置

当没有任何已启用的功能需要响应内容时,Cloudflare 可以在数据到达时将其发送给客户端。部分功能会在边缘检查或更改响应内容。

检查可能会在边缘暂存部分响应。这可能会增加首字节时间(TTFB),或延迟增量交付。暂存的数据量取决于功能和响应。

检查响应正文的功能

Cloudflare 功能主要检查 Content-Type 为 text/html 的响应。部分功能会更改正文,其他功能仅读取正文。

以下功能在开启且适用时可以更改 HTML 响应正文:

功能 正文更改
AI Labyrinth 为未经授权的 AI 爬虫添加不可见链接
Always Online 在归档页面上添加横幅
Automatic HTTPS Rewrites 将符合条件的 HTTP 链接重写为 HTTPS
Cloudflare 质询功能 注入质询脚本或返回质询内容
Cloudflare Fonts 和 Automatic Platform Optimization 重写 Google Fonts 引用
电子邮件地址模糊处理 对页面内容中的电子邮件地址进行模糊处理
Markdown for Agents 将符合条件的请求的 HTML 转换为 Markdown
替换不安全的 JavaScript 库 重写受支持的不安全库 URL
Rocket Loader 更改脚本加载行为
Web Analytics 注入 Real User Monitoring 信标

当 响应正文缓冲 设置为 None(无) 时,这些功能不会更改响应正文。

安全和 AI 功能也可能读取 HTML 而不更改它。Prefetch URLs 会读取以 text/plain 提供的 URL 清单。

此列表不包括会检查响应内容的显式规则。排查问题时请分别审查每条规则。

流式传输注意事项

响应正文检查最常影响渐进式 HTML 和纯文本流。它也可能影响由显式检查规则选中的其他响应。客户端收到数据的时间可能晚于源站发送时间,或数据会以比源站更大的分组到达。

请在源站设置准确的 Content-Type。除非该媒体类型确有必要,否则不要将流式 API 响应以 text/html 或 text/plain 提供。

Cache-Control: no-transform 响应指令会阻止受支持功能对正文进行更改。它不会阻止只读检查。有关此指令的其他影响,请参阅 Cache-Control 指令。

排查检查问题

如果响应在通过 Cloudflare 代理后停止流式传输:

  1. 验证在不经过 Cloudflare 时,源站是否增量发送数据。
  2. 检查源站响应的 Content-Type 和 Cache-Control 标头。
  3. 审查适用于该响应路径的功能和规则。
  4. 创建一条针对特定路径的配置规则,将 Response Body Buffering(响应正文缓冲) 设置为 None(无)。
  5. 再次通过 Cloudflare 测试该响应。

None(无) 设置会在不进行检查的情况下流式传输正文。这可能会阻止安全、优化和分析功能在匹配的响应上生效。请使用尽可能窄的匹配表达式。

有关设置值和 API 配置,请参阅 响应正文缓冲。

这篇文档对您有帮助吗?