标准答案
- 先确认请求实际命中的域名、边缘节点、缓存状态 Header、Age、Cache-Key 和源站响应,而不是只看发布系统显示“已刷新”。
- 同一路径可能因查询参数、Host、Cookie、Accept-Encoding、语言或设备规则生成不同缓存键,清理一个键不代表全部变体都已失效。
- 失效请求需要传播到多个边缘节点,短时间内不同用户可能看到不同版本;应根据 CDN 的刷新模型设计发布窗口和回滚策略。
- 静态资源优先使用内容哈希或版本化文件名,使新版本天然使用新 URL;HTML 或清单文件使用较短缓存和可验证策略。
- 源站自身缓存、反向代理缓存、对象存储复制和浏览器 Service Worker 也可能保留旧内容,需要一并检查。
题目解析
依赖“覆盖同一个文件名再刷新 CDN”会让发布和回滚都不稳定。版本化 URL 把缓存一致性问题从全网失效转为新旧资源可并存。
缓存刷新命令应有作用域、结果和审计。过宽的全站清理会把性能问题转化为回源洪峰。
常见误区
- 只清理 CDN,不检查浏览器、Service Worker 和源站代理。
- 静态资源长期使用固定文件名,频繁依赖全网 purge。
- 不查看缓存命中和响应 Header,只凭用户描述判断“CDN 没刷新”。