浏览器缓存导致页面未更新
浏览器缓存导致页面未更新
线上文件已经更新,但浏览器还显示旧页面,这种情况很容易被误判成部署失败。浏览器缓存、CDN 缓存、服务器缓存都可能参与其中。
排查时要区分:服务器是否真的返回新内容,还是只有当前浏览器看到旧内容。
先用 curl 看服务器
curl -I https://blog.tjcheng.cn/curl -s https://blog.tjcheng.cn/api/allPostMeta.json | head如果 curl 已经拿到新内容,问题多半在浏览器或中间缓存。
浏览器侧处理
-
强制刷新:Windows 上通常是 Ctrl + F5。
-
使用无痕窗口打开。
-
开发者工具里勾选 Disable cache 后刷新。
-
清理特定站点缓存,而不是直接重装浏览器。
静态资源版本
如果 JS/CSS 文件名没有哈希,浏览器可能长期缓存旧资源。构建工具通常会给资源加 hash,部署时要确认 HTML 和资源文件是同一批产物。
不要反复部署掩盖缓存问题
如果服务器文件和接口都已经更新,重复构建上传没有意义。应该把注意力转到缓存层,确认响应头和浏览器行为。
实战复盘
把《浏览器缓存导致页面未更新》写成可复用排查记录时,我会保留四类证据:原始现象、执行命令、关键输出、修复后的验证结果。少了其中任何一类,下次遇到类似问题都容易重新猜一遍。
排查类文章不要只写最终命令,还要写为什么先查这里。比如端口问题先看监听进程,Nginx 问题先分清 404 和 403,Python 环境问题先确认解释器路径。
如果修复动作有风险,例如杀进程、删文件、改服务配置,就应该写清回退方式。能恢复,才敢在服务器上操作。
最小验收样例
验收《浏览器缓存导致页面未更新》时,我会保留一条修复前命令和一条修复后命令。前者证明问题存在,后者证明问题已经消失,而不是只凭浏览器或终端感觉判断。
如果这篇文章涉及服务器操作,还要记录当前路径、用户、服务名和关键配置文件。排查记录越能还原现场,下次遇到同类问题越不需要重新摸索。
小结
页面未更新先分清服务器问题还是缓存问题。curl、无痕窗口和开发者工具,是最快的三步验证。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!













