
本人搞前端的,将静态文件(修改较频繁)在部署到服务器上时,遇到了如下两难的问题:
index.js、test.xml时,浏览器必须要强制刷新才能更新缓存,在移动端如微信 QQ 更是麻烦;index.fd1s20.js时,不好清理服务器中废弃的文件。请大佬指点
1 creamiced 2019-03-07 19:29:19 +08:00 抛砖,HTTP 响应设置不缓存 |
2 akira 2019-03-07 19:34:17 +08:00 加版本号参数 |
3 xiaoming1992 OP @creamiced 感谢回复,但是毕竟是前端页面,不可能不缓存的啊。主要是客户经常修改,我上传上去后,客户经常反馈手机上看着没反应(需要更新缓存),但流量消耗较大,稳定阶段不应该频繁更新缓存,这样就矛盾了。还有,不清楚问题复杂度怎么样,所以不方便请后端配合。 |
4 izoabr 2019-03-07 19:38:10 +08:00 应用的时候尾巴加个随机字符参数试试 比如 src="http://www.v2ex.com/js/index.js?random=19322873283939" |
5 xiaoming1992 OP @akira 今天刚测试的,在 QQ 上,就算更新了版本号,QQ 依然不会更新缓存,微信上没测试。 |
6 xiaoming1992 OP @izoabr 今天刚测试的,在 QQ 上,就算更新了版本号,QQ 依然不会更新缓存,微信上没测试。 |
7 xiaoming1992 OP 而且,有修改的文件需要更新缓存,没有修改的文件不需要更新,如果手动修改 url 的话也是个麻烦事,可能错漏。 |
8 pelloz 2019-03-07 19:44:08 +08:00 使用方案 2,然后写一个脚本定时清理,发现文件名相同,hash 后缀不同的文件,移除修改时间比较旧的。 |
9 xiaoming1992 OP @pelloz 貌似是一个好办法,试试 |
10 mostkia 2019-03-23 15:04:46 +08:00 检查名字+修改时间较旧的移除+1 |