URL 预取是指 Cloudflare 用访问者接下来可能请求的内容预先填充缓存。此设置——与其他设置结合使用时——可提高缓存命中率,从而为用户带来更快的体验。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
Availability | No | No | No | Yes |
要让 Cloudflare 开始预取 URL,你需要启用该功能,并包含要预取的 URL 列表。
要在仪表板中启用 Prefetch URLs(预取 URL):
-
在 Cloudflare 仪表板中,前往 Speed(速度) > Settings(设置) 页面。
Go to Settings ↗ -
前往 Content Optimization(内容优化)。
-
对于 Prefetch URLs,将开关切换为 On。
要使用 API 启用或禁用 Prefetch URLs(预取 URL),请发送 PATCH 请求,在 URI 路径中将设置名称设为 prefetch_preload,并将 value 参数设为所需设置("on" 或 "off")。
启用该功能后,还需要指明 Cloudflare 应预取哪些 URL。
为此,请包含一个指向清单文件的 Link HTTP 响应标头,并带有 rel="prefetch" 属性,然后以 text/plain 作为 Content-type 响应标头提供该清单文件。
示例 HTTP 响应标头:
Link: <http://www.example.com/manifest.txt>; rel="prefetch"
示例 manifest.txt 文件:
/static/fetch1
//other.example.com/fetch2
http://another.example.com/fetch3清单文件应包含 URI、协议相对 URL 或完整 URL,以换行分隔。这些文件必须位于你已接入 Cloudflare 的网站上。如果引用 HTML 页面,则仅会预取该 HTML 页面本身——来自该 HTML 的任何子请求都不会被获取,除非它们也在清单中显式定义。
预取文件限制如下:
- 清单文件的最大数量为 16。
- 每个清单文件的最大文件数为 100。
- 清单文件的大小限制为 1 MB。
-
仅当资源属于默认缓存的类型时,Cloudflare 才会预取清单文件中列出的文件。
-
预取与自定义缓存密钥配置不兼容。更多信息请参阅 Cache Key limitations。