【问题标题】:How to invalidate HTTP Cache Headers on static files如何使静态文件上的 HTTP 缓存标头无效
【发布时间】:2013-02-22 23:58:31
【问题描述】:

我在我的 .htaccess 中设置了一个 CacheControl 声明,供浏览器缓存静态文件。

在连续部署后,如何定义使客户端缓存无效的指令?

<Files *.js>
Header add "Cache-Control" "max-age=604800"
</Files>

【问题讨论】:

    标签: apache caching http-headers browser-cache


    【解决方案1】:

    如何定义使客户端缓存失效的指令?

    简短的回答是你不能 - HTTP 协议不支持它。

    但是有一种偷偷摸摸的方法可以做到这一点:创建一个清单 html 页面,列出所有可缓存的资产,将其加载到 iframe 中,然后使用 Javascript 在 iframe 上进行刷新。这将为服务器创建有条件的内容请求 - 如果您的服务器以 2xx 状态响应,则提供的新内容将覆盖缓存。

    然而,仅仅因为它可能并不能使它成为一个好主意(有很多原因 - 不要问,除非你想付钱让我来提供几周的咨询和培训); 不要在家里尝试这个!

    普遍的共识是,管理缓存的最佳方式是提供具有非常长 TTL 的内容,但提供给 embed versioning information in the URL

    【讨论】:

      猜你喜欢
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-30
      • 1970-01-01
      • 2015-06-07
      • 2010-09-20
      • 2013-09-24
      相关资源
      最近更新 更多