【问题标题】:How to expire cached pages when only the CSS url changes仅当 CSS url 更改时如何使缓存页面过期
【发布时间】:2011-10-10 20:16:11
【问题描述】:

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

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

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

【问题讨论】:

  • 是的。如果您不这样做,您如何想象客户会获得新的 URL?

标签: css http deployment varnish


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 2014-07-12
    • 2012-05-27
    • 1970-01-01
    相关资源
    最近更新 更多