跳转到内容
搜索文档

Early Hints

最后更新 查看 MarkdownAgent 设置

当浏览器请求页面时,源站服务器需要时间准备完整响应。Early Hints 利用这段等待时间向浏览器发送包含 Link 标头的初步 103 响应,告诉浏览器需要哪些资源。浏览器可以在完整响应到达之前开始加载这些资源,从而加速页面加载。

Early Hints 在 RFC 8297 中定义为新的 HTTP 状态码(103 Early Hints)。Cloudflare 缓存并提供来自 HTML 页面的这些带有 Link 标头的 103 响应,减少用户感知的延迟。

有关 Early Hints 的更多信息,请参阅 CloudflareGoogle Chrome 博客。

可用性

FreeProBusinessEnterprise

Availability

Yes

Yes

Yes

Yes

启用 Early Hints

  1. 在 Cloudflare 仪表板中,前往 Speed(速度) > Settings(设置) 页面。

    Go to Settings ↗
  2. 前往 Content Optimization(内容优化) 选项卡。

  3. 对于 Early Hints,将开关切换为 On(开启)

生成 Early Hints

Early Hints 仅在以下情况下生成和缓存:

  • 对于具有 .html.htm.php 文件扩展名或无文件扩展名的 URI
  • 在 200、301 或 302 响应返回码上
  • 当响应包含带有 preconnect 或 preload rel 类型的 link 标头 时,例如 Link: </img/preloaded.png>; rel=preload

发出 Early Hints

Cloudflare 将在主响应之前异步查找并发出缓存的 103 Early Hints 响应。

目前,只有某些浏览器版本会在收到 Early Hints 后采取行动进行 preload 或 preconnect,例如 Google Chrome M94 及更高版本。有关使用 WebPageTest 实验兼容客户端浏览器的说明,请参阅博客文章

此外,请记住:

  • Early Hints 响应可能在到达源站服务器或 Worker 之前发出。启用 Early Hints 且站点上的页面需要身份验证时,未认证的访问者可能会收到 103 响应。103 响应将包含缓存的 Link 标头,并在源站的 403 Forbidden 响应之前发送。
  • 对于内容可缓存的请求,Early Hints 可能发出频率较低。如果响应已被缓存,Cloudflare CDN 更可能在异步 Early Hints 查找完成之前获取响应标头。如果主响应标头已可用,Cloudflare 不会发送 103 响应。
  • Cloudflare 目前对某些 User-Agent 禁用 Early Hints,例如,与 1xx 响应不兼容的某些搜索引擎爬虫 bot。
  • 启用 Early Hints 时,您可能会在 Cloudflare Logs 中看到大量 RequestSourceearlyHintsCache504 响应,这是预期且无害的。来自 earlyHintsCache 的请求是缓存 Early Hints 的内部子请求,它们既不是最终用户请求,也不会前往您的源站。它们的响应状态仅指示请求 URI 是否有缓存的 Early Hints(缓存 HIT 时为 200,缓存 MISS 时为 504)。这些请求已在其他视图(如 Cache Analytics)中过滤掉。要过滤这些请求或仅过滤网站的最终用户请求,请参阅过滤最终用户

这篇文档对您有帮助吗?