我在.htaccess中设置了一个CacheControl声明,用于浏览器缓存静态文件。
在连续部署时,如何定义使客户端缓存无效的指令?
<Files *.js>
Header add "Cache-Control" "max-age=604800"
</Files>
如何定义使客户端缓存无效的指令?
简单的答案是你不能-HTTP协议不支持它
但有一种巧妙的方法:创建一个清单html页面,列出所有可缓存的资产,将其加载到iframe中,然后使用Javascript刷新iframe。这将创建对服务器的内容的有条件请求,如果服务器以2xx状态响应,则提供的新内容将覆盖缓存。
然而,仅仅因为是可能的并不能让它成为一个好主意(有很多原因——除非你想付钱让我来提供几周的咨询和培训,否则不要问)不要在家里尝试
普遍的共识是,管理缓存的最佳方式是使用非常长的TTL提供内容,但在URL中嵌入版本控制信息。