1

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

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

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

1 回答 1

0

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

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

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

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

普遍的共识是,管理缓存的最佳方式是提供具有长 TTL 的内容,但在 URL 中嵌入版本信息

于 2013-02-23T00:50:51.347 回答