我们的网络服务器上有一个图像文件夹,我们可以通过 CDN 发布。有时我们将查询字符串之类的语法附加到 URL 以帮助我们更新已更改的内容,即使它很少这样做。例子:
/images/file.png?20090821
像这样的 URL 是否适用于您的普通内容交付网络?
Amazon CloudFront于 2012 年 5 月启用了此功能
是的,我们使用 Akamai,它保留每个请求的 distict url 的缓存副本,包括查询字符串。因此,对 /images/file.png?20090821 的第一个请求将发送到源服务器。之后对 /images/file.png?20090821 的请求将从 Akamai 服务器获取图像。第二天,假设 img src 更改为 /images/file.png?20090822,第一个请求将再次到达源服务器。
你不会有CDN的问题。但是,您可能会遇到浏览器问题。一些浏览器不会缓存任何带有查询字符串的内容。尽管从 CDN 获取图像可能更快,但它不会像缓存图像那样快。所以你想做这样的事情,
/images/file.png/20090821
我们的 CDN 提供商还推荐使用哈希机制。当我们发布我们的内容时,它会在 URL 中添加一个哈希,因此您不必自己添加版本。不幸的是,我不知道这个魔法是如何完成的细节。
amazon cloudfront 不会传播查询字符串。