一直以为只要在浏览器里把缓存清除掉就可以了。但今天遇到一个打破我旧认知的事情:
某网站 A 做了修改以后,A 的管理员发通知说让我们去查看。然后跟我同局域网的几个用户在 PC 上用了各种方法(清除缓存,用隐私模式打开,换不同浏览器 ff, brave, edge ),看到的都是旧版本。但我们用手机打开( brave 和 safari) 都能看到新版本。
不在我局域网内的用户用 pc 打开可以看到新版本。
求哪位解释下原因,多谢了。
![]() | 1 Veneris 2021-12-01 08:05:56 +08:00 via iPhone 或许是 CDN 的问题? |
2 xiaopc 2021-12-01 08:07:46 +08:00 手机连的是局域网吗,如果不是的话,那就是局域网出口缓存? |
3 bearwithme OP |
![]() | 4 icyluna 2021-12-01 08:41:22 +08:00 via iPhone 在 url 结尾加上 ?v=1 之类的参数看看? |
5 JVMEXCEPTION 2021-12-01 08:57:10 +08:00 url 结尾加参数,强行让电脑访问的缓存服务器 miss hit |
![]() | 6 mingtdlb 2021-12-01 09:18:55 +08:00 那就没更新... |
![]() | 7 别怀疑自己,这不是你的问题。 是网站 CDN 节点仍然缓存有旧的内容。 |
![]() | 8 Chism 2021-12-01 10:41:53 +08:00 Chrome 开启调试,刷新按钮下拉“硬刷新”,如果还是没生效,CDN 先配置缓存时间 0 吧 |
![]() | 9 shakaraka PRO 一般来说 index.html 不用缓存,这样更新后 index.html 引用的文件路径变了也方便。但是为了性能极致的话,都缓存也行,但是更新后你需要自己更新 cdn 缓存,我用阿里的 cdn ,他上面有缓存刷新 |
10 registerrr 2021-12-01 11:45:39 +08:00 ctrl+shift+R chrome 可以强制刷新(排除本地缓存问题) |
![]() | 11 Vegetable 2021-12-01 13:49:43 +08:00 哈哈哈哈哈哈哈哈,cdn |
12 C603H6r18Q1mSP9N 2021-12-01 13:50:05 +08:00 搞不好就没修改成功 |
13 zloong 2021-12-01 16:22:20 +08:00 如果是单页面应用,nginx 不用缓存 index.html 文件。 |
![]() | 14 ch2 2021-12-01 19:22:56 +08:00 就是 cdn 没刷新而已 |
15 xumng123 2021-12-01 22:34:58 +08:00 via iPhone https 了吗? |
16 bearwithme OP |
![]() | 17 ch2 2021-12-02 12:09:20 +08:00 @bearwithme #16 网络情况很复杂的,CDN 不保证每个人看到的都是新的,除非你强制每个节点 invalid cache |