现在有个老项目,本来是在 html 里加了 no-cache 什么的想干脆不缓存一直也没管用,后来我就把入口换成 jsp,每次项目更新时,整个跳转到一个新的 context,客户端浏览器就肯定强制刷新了。
最近尝试在前面加了一层 nginx,后面是原来的 tomcat,并且做了静态分离。这个爽啊,header 加 expires 可以强制过期了。不过据说还能有根据文件修改时间自动失效的功能?但是我的服务器发现是 CST 时区(没权限调整),好像时间上错位呢,达不到效果。
这样的话,设置 expire 诺干小时,然后只在基本没人访问的夜里更新,一般第二天所有用户就都没问题了。在加上这个项目的用户比较特殊,应该是用的时候就集中用一小会,expire 设置成几小时问题不大,不影响体验。
但是总觉得不完美,一方面是老项目,肯定做不到打包时候文件都加后缀随机串了。另外就是 nginx 那个判断 Last-Modified 自动根据文件变化失效到底管用吗?谁这方面有成熟经验。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/738099
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.