返回

Cloudflare 免费计划如何自定义缓存 key?

前端

通过 Cloudflare Workers 自定义缓存 Key

想象一下这个场景:你访问了一个网站,看到了一个可爱的猫咪视频,然后你就想把它分享给你的朋友。但是,当你把链接发给你的朋友时,他们却看不到视频。这是因为网站使用了 Cloudflare 的缓存功能,而你的朋友还没有访问过这个网站,所以他们的浏览器没有缓存视频。

这种情况非常常见,尤其是对于加载时间较长的网站。为了解决这个问题,网站所有者可以利用内容分发网络 (CDN) 来优化网站的性能。CDN 可以在全球各地建立多个服务器,当用户访问网站时,CDN 会将网站的内容缓存到离用户最近的服务器上。这样,用户就可以从离他们最近的服务器上获取网站内容,从而加快网站的加载速度。

Cloudflare:CDN 中的佼佼者

Cloudflare 是当今最受欢迎的 CDN 提供商之一。它为网站提供了一系列功能,包括缓存、安全保护和性能优化。Cloudflare 还提供了一种名为“自定义缓存 key”的功能,该功能允许网站所有者控制哪些内容会被缓存,以及缓存的有效期。

Cloudflare 免费计划的局限性

但是,自定义缓存 key 功能只对 Cloudflare 的企业计划用户开放。如果你使用的是 Cloudflare 的免费计划,那么你就无法使用自定义缓存 key 功能。

使用 Cloudflare Workers 变通方法

不过,有一个方法可以让你在 Cloudflare 的免费计划下自定义缓存 key。这个方法就是使用 Cloudflare Workers。

Cloudflare Workers 是一种无服务器计算平台,它允许你在 Cloudflare 的边缘服务器上运行代码。你可以使用 Cloudflare Workers 来编写一个脚本,然后将这个脚本部署到 Cloudflare 的边缘服务器上。这个脚本可以根据你的需要来修改 HTTP 请求的标头,包括缓存控制标头。这样,你就可以在 Cloudflare 的免费计划下自定义缓存 key 了。

动手实践:逐步指南

步骤 1:注册 Cloudflare 账户

首先,你需要注册一个 Cloudflare 账户。你可以免费注册一个账户,但如果你需要更多功能,你也可以升级到付费计划。

步骤 2:将你的网站添加到 Cloudflare

一旦你注册了 Cloudflare 账户,你就需要将你的网站添加到 Cloudflare。你可以按照 Cloudflare 网站上的说明进行操作。

步骤 3:创建 Cloudflare Worker

登录 Cloudflare 控制台,选择你的网站,然后点击“Workers”选项卡。点击“Create a Worker”按钮来创建一个新的 Cloudflare Worker。

步骤 4:编写 Worker 脚本

在“Worker Name”字段中,输入一个名称。在“Worker Script”字段中,输入以下代码:

addEventListener('fetch', event => {
  let request = event.request;

  // 修改 HTTP 请求的标头
  request.headers.set('Cache-Control', 'max-age=3600');

  // 将请求转发到原始服务器
  event.respondWith(fetch(request));
});

步骤 5:保存并部署 Worker

点击“Save and Deploy”按钮。等待几分钟,直到脚本部署成功。

步骤 6:测试自定义缓存 key

现在,你就可以在 Cloudflare 的免费计划下自定义缓存 key 了。你可以通过以下步骤进行测试:

  1. 在浏览器中访问你的网站。
  2. 打开浏览器的开发者工具。
  3. 找到“网络”选项卡。
  4. 刷新页面。
  5. 在“网络”选项卡中,查看 HTTP 请求的标头。
  6. 你应该看到“Cache-Control”标头已被修改。

结论

通过以上步骤,你就可以在 Cloudflare 的免费计划下自定义缓存 key 了。这可以让你控制哪些内容会被缓存,以及缓存的有效期。这样,你就可以根据自己的需要来优化网站的缓存策略,从而加快网站的加载速度。

常见问题解答

问:为什么要使用 Cloudflare 的自定义缓存 key 功能?

答:Cloudflare 的自定义缓存 key 功能允许网站所有者控制哪些内容会被缓存,以及缓存的有效期。这可以优化网站的缓存策略,从而加快网站的加载速度。

问:如何知道自定义缓存 key 是否成功了?

答:你可以通过检查 HTTP 请求的标头来查看自定义缓存 key 是否成功了。在浏览器的开发者工具的“网络”选项卡中,你应该看到“Cache-Control”标头已被修改。

问:Cloudflare Workers 的作用是什么?

答:Cloudflare Workers 是一个无服务器计算平台,它允许你在 Cloudflare 的边缘服务器上运行代码。你可以使用 Cloudflare Workers 来编写一个脚本,然后将这个脚本部署到 Cloudflare 的边缘服务器上。这个脚本可以根据你的需要来修改 HTTP 请求的标头,包括缓存控制标头。

问:Cloudflare Workers 是免费的吗?

答:是的,Cloudflare Workers 是免费的。你可以免费创建和部署 Cloudflare Workers,但如果你需要更多功能,你也可以升级到付费计划。

问:Cloudflare 免费计划有哪些限制?

答:Cloudflare 免费计划有一些限制,例如:

  • 自定义缓存 key 功能不可用。
  • 可用 Worker 的数量有限。
  • 每月可执行的脚本执行时间有限。