在开发人员的眼中没有bug,只不过是你不会用罢了。。。现情况公司内部运作系统,每次迭代都会有用户出现新增的功能没有显示的情况,那么前端项目基于angular1.5.8+gulp做了文件加版本号处理,唯独index.html并没有添加版本号处理,大部分js、css都是在index.html内引入的。在gulpfile内给js、html都增加了版本号处理.pipe($.replace('.js',".js?v="+moment().format('YYMMDDHHmm'))).pipe($.replace('.html',".html?v="+moment().format('YYMMDDHHmm')))这边是nginx服务器配置location / { ##客户端缓存7天,有修改向服务器请求最新文件 add_header Cache-Control max-age=604800; }测试觉得并没有问题啊,开发人员都没问题,可以在缓存期间,即使有代码更新,按F5刷新下就会向nginx服务器发送请求,获取是否有文件更新,通过Last-Modified判断吧?有更新则直接向服务器拉取最新文件,没有更新则使用浏览器缓存。为啥还是会有部分人员出现页面没有显示出最新修改的模块呢,比如这次迭代只是在某个页面增加了一个表单,但是有的人员却并没有显示出这次增加的表单。。。后来直接让他们ctrl+F5强制刷新,才显示出来。百思不得其解。。有没有办法可以自动清除客户端的浏览器缓存呢?注:客户端都是用的chrome浏览器nginx服务器配置如下修改后有效吗?有待查证。。。location / { ##私有缓存,不能被共有缓存代理服务器缓存,可被用户的代理缓存如浏览器 add_header Cache-Control private; ##客户端缓存7天,有修改向服务器请求最新文件 add_header Cache-Control max-age=604800; ##告诉浏览器,你这必须再次验证检查信息是否过期, 返回的代号就不是200而是304了 add_header Cache-Control must-revalidate; }
2 回答

慕粉1416211966
TA贡献1条经验 获得超0个赞
请教楼主, Cache-Control max-age如果没有过期,浏览器需要查看LAST-modified吗?如果查看服务器的last-modified那么还用max-age有什么用呢?
添加回答
举报
0/150
提交
取消