用途与验证范围
修改 CSS 或图片后浏览器仍显示旧版,可能是页面引用了另一个地址,也可能是浏览器或中间代理继续使用缓存。排查应从“请求的究竟是哪份资源”开始。本教程只给出只读检查流程,不替你修改任何线上缓存或安全配置。
AI 辅助撰写与整理。官方资料与流程核对;未在生产服务器或编辑器中执行。
适用环境
有权检查的 HTTPS 站点、curl 命令行以及浏览器开发者工具。以下以本站 CSS 地址作写法示例,未在生产环境执行;实际文件名应从当前网页请求中确认。
操作步骤
先在浏览器 Network 中找到资源完整地址和响应头,再用命令行查看同一地址。记录状态码、Cache-Control、ETag 与 Last-Modified。若经过 CDN,还要区分源站响应和边缘响应,不把单次浏览器刷新当作整个链路已刷新。
curl --head --max-time 15 https://zandindh.com/static/design.css预期结果与核对
应得到响应头而非下载整份样式正文。200 与 304 的含义不同;是否出现 ETag 和 Last-Modified 取决于服务器实现。核对资源 URL 是否变化,再查看缓存时效。使用版本化资源地址时,应保证 HTML 引用与实际部署文件一起更新。
常见问题
如果只改了文件内容却长期复用同一个强缓存 URL,旧客户端可能继续使用缓存副本。如果请求返回的是 HTML 错误页,应先排查地址或权限,而不是调整缓存。HEAD 与 GET 的实现也可能不同,有疑问时对比浏览器实际 GET 请求。
适用边界
不要为排查缓存而关闭 TLS 校验,或对整个域名设置永不缓存。Nginx 的 expires 与 add_header 行为还涉及作用域和继承;调整前应核对具体版本、现有配置和回滚方案。本流程不保证某个缓存头一定来自源站。