如何缓存静态 HTML?

  1. 登录到您的 Cloudflare 帐户.
  2. 从左上角的下拉菜单中,选择您的域名。
  3.  点击顶部菜单中的 “Page Rule” 应用。
  4. 第一步是建立一个模式,然后将规则应用于该模式。需要找到或创建一种用于按 URL 即可区分静态内容与动态内容的方法。可以为静态内容创建目录,从而将唯一文件扩展名附加到静态页面,或者添加用于将内容标记为静态的查询参数。以下是可以为每个选项创建的三个模式示例。
    *example.com/static/* [/static/ subdirectory for static HTML pages] *example.com/*.shtml [.shtml file extension to signify HTML that is static]*example.com/*?*static=true* [adding static=true query parameter]

    您想要创建一个模式仅用于描述您所知为静态的页面。
  5. 点击 “自定义缓存” 下拉菜单 中的 “缓存所有”。
  6. 点击 “添加规则”所述。 

如果看到 HTML 未缓存(尽管存在缓存所有规则),这意味着您需要使用“边缘缓存 TTL”设置覆盖原始缓存指令。请注意,即使原始缓存指令正在发送正确的缓存 TTL 标头 ,但您仍需要在 Cloudflare 中设置边缘缓存 TTL,因为我们默认不会缓存 HTML。

如果 Cache-Control 标头设置为“private”、“no-store”、 “no-cache”或“max-age=0”,或者如果响应中存在 Cookie,则 Cloudflare 将不会缓存资源,除非 Page Rule 设置为“缓存所有”并且设置“边缘缓存 TTL”。

当结合使用 Bypass Cache on Cookie( Business 和 Enterprise 计划功能)与“缓存所有”时,在某些 Cookie 已设置的情况下可绕过缓存。此外,“边缘缓存 TTL”使您能够指定 Cloudflare 应缓存给定资源的最大时长。

Screen_Shot_2017-03-09_at_16.54.36.png

在 Bypass Cache on Cookie 选项中,可以将 .*(点-星号)运算符用作通配符,将 |(管道)运算符用作 OR 语句。 

诸如“Cookie 上的缓存”、“按设备类型的缓存”和“自定义缓存”密钥等其他 Page Rule 选项可提供给我们的企业客户。

默认情况下,Cloudflare 会覆盖已缓存内容上的“Cache-Control”标头,但您可以将 Cloudflare 设置为在已缓存内容上“尊重现有标头”。当使用此设置时,Cloudflare 将不会覆盖您原来的“Cache-Control”标头。

所有计划的用户均可以在仪表板的“缓存”选项卡中向下滚动到“浏览器缓存过期”来访问此功能。

 

Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

由 Zendesk 提供技术支持