2

场景:我更新了一个 CSS 文件,推送到 CDN,需要更改查询字符串中的版本号,以确保用户的浏览器下载最新的副本

这就是问题所在:我所有的页面都在 Varnish 后面,并且 CSS 文件的绝对 URL 是从 memcached 中提取的。

我是否需要使整个页面过期才能触发更新?

4

1 回答 1

3

您需要使引用“旧”版本 css 的页面过期。如果您担心过期的“整个”页面代价高昂,您可以将您的页面划分为 ESI 可处理的片段,并且只使包含 CSS 的 HTML 片段过期。

另一个(有点异国情调)选项是使用 javascript。如果您有很多缓存页面,并且它们包含的 javascript 资源比您的缓存网页更新频率更高,请让 javascript 将最新的 css url 添加到 DOM。

于 2011-07-23T20:32:23.740 回答