如何保证看到网站最新部署的修改?

2021-12-01 07:57:27 +08:00
 bearwithme

一直以为只要在浏览器里把缓存清除掉就可以了。但今天遇到一个打破我旧认知的事情:

某网站 A 做了修改以后,A 的管理员发通知说让我们去查看。然后跟我同局域网的几个用户在 PC 上用了各种方法(清除缓存,用隐私模式打开,换不同浏览器 ff, brave, edge ),看到的都是旧版本。但我们用手机打开( brave 和 safari) 都能看到新版本。

不在我局域网内的用户用 pc 打开可以看到新版本。

求哪位解释下原因,多谢了。

2003 次点击
所在节点    问与答
17 条回复
Veneris
2021-12-01 08:05:56 +08:00
或许是 CDN 的问题?
xiaopc
2021-12-01 08:07:46 +08:00
手机连的是局域网吗,如果不是的话,那就是局域网出口缓存?
bearwithme
2021-12-01 08:17:37 +08:00
@Veneris
@xiaopc
手机连的是同一个局域网,所以应该不是 CDN 或者局域网缓存吧
icyluna
2021-12-01 08:41:22 +08:00
在 url 结尾加上 ?v=1 之类的参数看看?
JVMEXCEPTION
2021-12-01 08:57:10 +08:00
url 结尾加参数,强行让电脑访问的缓存服务器 miss hit
mingtdlb
2021-12-01 09:18:55 +08:00
那就没更新...
ss098
2021-12-01 09:52:40 +08:00
别怀疑自己,这不是你的问题。

是网站 CDN 节点仍然缓存有旧的内容。
Chism
2021-12-01 10:41:53 +08:00
Chrome 开启调试,刷新按钮下拉“硬刷新”,如果还是没生效,CDN 先配置缓存时间 0 吧
wunonglin
2021-12-01 11:01:35 +08:00
一般来说 index.html 不用缓存,这样更新后 index.html 引用的文件路径变了也方便。但是为了性能极致的话,都缓存也行,但是更新后你需要自己更新 cdn 缓存,我用阿里的 cdn ,他上面有缓存刷新
registerrr
2021-12-01 11:45:39 +08:00
ctrl+shift+R chrome 可以强制刷新(排除本地缓存问题)
Vegetable
2021-12-01 13:49:43 +08:00
哈哈哈哈哈哈哈哈,cdn
shanghai1998
2021-12-01 13:50:05 +08:00
搞不好就没修改成功
zloong
2021-12-01 16:22:20 +08:00
如果是单页面应用,nginx 不用缓存 index.html 文件。
ch2
2021-12-01 19:22:56 +08:00
就是 cdn 没刷新而已
xumng123
2021-12-01 22:34:58 +08:00
https 了吗?
bearwithme
2021-12-02 04:34:26 +08:00
@ss098
@ch2
同一个局域网不是会用从同一个 cdn 取内容么?为什么会出现 pc 都取到就内容而移动设备都取到新内容的情况,是有按设备导流的规则?
ch2
2021-12-02 12:09:20 +08:00
@bearwithme #16 网络情况很复杂的,CDN 不保证每个人看到的都是新的,除非你强制每个节点 invalid cache

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/819180

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX