如何仅在CSS URL更改时如何使缓存页面失效

时间:2011-07-22 07:29:15

标签: css http deployment varnish

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

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

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

1 个答案:

答案 0 :(得分:3)

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

另一个(有点奇特的)选项是使用javascript。如果你有很多缓存页面,并且它们包含的javascript资源比你的缓存网页更频繁,那么让javascript将最新的css url添加到DOM中。