关于项目更新静态资源,清除用户缓存的问题

我们公司后台是java,项目都是一些jsp和少量shtml文件,如果项目的某个css文件更新了,而且这个css文件被很多页面引用了,我不可能进每个页面去把这个css文件尾部加个时间戳吧?webapp是可以通过打包工具统一更新,但是我们这个前后台混合的用不了啊,就连使用工具的统一替换都不行,因为项目的很多部分都是在不同阶段并行开发,不能搜索替换一起发布到外网,对于我这种情况,有什么好的处理办法吗?

阅读 2.9k
4 个回答

在服务器层面作处理。如果是nginx,直接匹配该css文件,并设置缓存有效期为昨天.tomcat应该类似

不要改代码,这不是代码的锅

前后端没有分离的话,静态版本号本来就应该服务端维护啊,这个最好先找后端在引入时候写入一个版本号的变量

可以用gulp,写个脚本给每个引用.css的页面后面加上版本号就好。

那么还有一种方式,比如说给静态资源设置 etag 头。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题