排除缓存造成的假象,核心是让“你看到的页面”和“服务器实际返回的内容”分开验证。主机域名选择阶段常见的假象是:刚换域名或刚改解析,浏览器却仍显示旧站;或者明明上传了新文件,访问时却是旧页面。此时不要急着判定解析失败或主机故障,先确认你看的是缓存副本,还是源站响应。
缓存可能存在于多个位置:浏览器本地缓存、系统 DNS 缓存、路由器或公司网络缓存、CDN 边缘节点、主机面板自带缓存,以及 WordPress 等程序的对象缓存。它们各自保存的内容和过期时间不同,所以同一时刻不同设备可能看到不同结果。
另一种常见误解是把“页面能打开”当成“新域名已生效”。如果旧域名和新域名指向同一台主机,而程序里仍写死旧域名,页面可能正常显示,但资源、跳转和规范链接仍指向旧地址。这时问题不在缓存,而在配置。
先绕过浏览器缓存,直接向服务器发请求。以下命令中的域名请替换成你自己的:
curl -I https://example.com
重点看响应头里的几个字段:HTTP/1.1 200 OK 表示请求成功;Server 显示由哪台服务器响应;Cache-Control、Age、X-Cache 能提示是否命中缓存。如果 Age 大于 0,说明响应来自缓存层,而不是刚生成的源站内容。
再对比带随机参数的请求:
curl -I "https://example.com/?v=123456"
如果带参数时返回新内容,不带参数时返回旧内容,基本可以判断是缓存层在起作用。若两者都返回旧内容,则更可能是源站文件未更新或程序缓存未清除。
用手机蜂窝网络访问一次,再用同一台电脑的浏览器无痕窗口访问一次。如果蜂窝网络看到新内容,而宽带网络看到旧内容,问题更可能出在本地网络或运营商 DNS 缓存。如果无痕窗口和普通窗口结果不同,问题更可能在浏览器缓存或登录态。
还可以临时把电脑的 DNS 改成公共 DNS 做对比,但这只是排查手段,不是长期方案。改完后用 nslookup 你的域名 或 dig 你的域名 查看当前解析到的 IP,再与主机面板里显示的服务器 IP 对照。两者不一致时,先等 DNS 缓存过期,而不是反复重装网站。
Age 或 X-Cache 命中提示的情况。顺序反了会浪费时间:如果问题在浏览器,清 CDN 没有用;如果问题在 CDN,清本地 DNS 也没有用。每一步之后都重新执行一次 curl -I,用响应头变化判断是否命中真正原因。
如果 curl 直接返回 404、502 或连接超时,说明请求没有到达正确的源站,应检查解析记录、主机绑定和防火墙,而不是清缓存。如果返回 301 跳转到旧域名,说明程序或服务器配置里仍写着旧地址,需要改站点地址和重定向规则。如果 HTTPS 证书报错,属于证书与域名匹配问题,也与缓存无关。
另外,robots.txt 的抓取限制不等于可靠的索引移除;站点地图不保证收录;HTTPS 不保证安全无漏洞或排名。这些是独立问题,不应和缓存假象混在一起判断。
下一步:选一台不在你本地网络中的设备或使用在线 HTTP 响应头检查工具,对同一域名连续请求两次,记录两次响应头中的 Age、X-Cache 和状态码,再决定清理哪一层缓存。