一句话结论

改版后页面不刷新,多数是缓存规则没分开配。结论是 HTML 入口页走协商缓存、图片与 JS/CSS 走长缓存加文件名哈希,再用 CDN 刷新与验证清单收口。

全文约 1098 字 · 阅读 5 分钟 · 更新于 2026-09-17

一、HTML 与静态资源要分开设置缓存

结论:HTML 入口页用 no-cache 或一般数分钟的短缓存,图片、CSS、JS 用长缓存,两者共用一套规则是改版后不刷新的常见原因。

  • 入口页:每次回源校验,保证内容更新能及时看到。
  • 静态资源:文件名不变就认为内容不变,可以放长缓存。
  • 后台管理类页面通常设为 no-store,避免缓存含登录态的数据。

二、文件名带哈希或版本号

结论:用 app.a1b2c3.js 这类内容哈希做缓存失效手段,比上线后手动清缓存更可控。

  • 构建时给文件名加内容哈希,内容变化则文件名变化。
  • 老项目改造不了,可用 app.js?v=20260917 这类查询串形式。
  • HTML 里的引用路径交给构建工具替换,不要手工改动。

三、Cache-Control 的取值怎么填

结论:静态资源一般用 public, max-age=31536000, immutable,HTML 一般用 no-cache 配合协商缓存。

  • max-age 单位是秒,31536000 约为一年。
  • immutable 可减少重复校验请求,浏览器支持情况以官方兼容性说明为准。
  • 带个人信息的接口响应通常不设公共缓存。

四、ETag 与 Last-Modified 的协商缓存

结论:长缓存到期或走 no-cache 时,由 ETag 做内容比对,内容没变返回 304,一般只传响应头不传正文。

  • Nginx 对静态文件默认生成 ETag 与 Last-Modified,一般无需额外配置。
  • 多台服务器要保证 ETag 生成规则一致,否则校验会失效。
  • 在浏览器开发者工具的 Network 面板可以看到 304 的命中情况。

五、CDN 与源站的刷新顺序

结论:发布时先确认源站已更新再刷新 CDN,顺序反了一般会出现部分地区仍是旧版的情况。

  • 按 URL 或目录提交刷新,避免整站刷新带来回源压力。
  • 刷新后等待生效,一般需要数分钟,具体时长以服务商公告为准。
  • 保留上一次发布的资源文件,便于快速回滚。

六、改版上线的验证清单

结论:用无痕窗口加清缓存的方式验证,比只用自己的电脑更接近真实用户看到的结果。

  1. 无痕窗口打开首页,确认 HTML 引用的资源路径是新版本。
  2. 查看响应头里的 Cache-Controlx-cache 字段。
  3. 检查状态码是 200 与 304 的合理组合。
  4. 让不同网络环境的同事各访问一次,确认展示一致。

玉晗网络(安徽安庆)提供网站建设、微信小程序开发、SEO优化、GEO优化与服务器运维托管。缓存规则属于一次配好长期受益的基础项,安庆本地的中小企业做官网改版或日常维护时,可以先按这份清单核一遍,再决定要不要调整 CDN 策略。

作者:玉晗网络(安徽安庆 · 网站建设 / 小程序开发 / SEO 优化)
发布:2026-09-17 | 最后更新:2026-09-17
转载声明:本文为原创内容,欢迎注明出处转载。如需引用数据请核对发布日期。

想让你的官网真正带来客户?

玉晗网络提供网站建设、小程序开发与 SEO 优化全链路服务,免费出方案与报价。

免费获取方案