排除缓存造成的假象,核心是让“你看到的页面”和“服务器实际返回的内容”分开验证。域名与空间相关的改动,比如换解析、换主机、改绑定、调CDN或开HTTPS,最容易出现本地浏览器、系统DNS、CDN节点、服务器端缓存各留一份旧副本的情况。判断时不要只刷新页面,而要用无缓存请求、独立解析和服务器日志三条线交叉核对。
域名与空间涉及至少四层缓存,表现相似但处理方式不同:
如果只在一个浏览器里看到旧页面,优先查浏览器;如果多个网络都看到旧页面,优先查CDN和源站;如果只有部分地区异常,优先查DNS传播和CDN节点。
按下面顺序做,时间和人手有限时也能最快定位:
?cachecheck=1,观察返回内容是否变化。若变化,说明原URL被缓存;若不变,继续查源站。Cache-Control、Age、X-Cache、Via等字段。这些字段能提示响应是否来自中间缓存。Host头,对比源站返回与域名返回是否一致。这一步能区分“源站没更新”和“中间层没刷新”。这里要区分“可能原因”和“已经定位的原因”。看到Age大于0,只能说明响应可能来自缓存,不能直接断定是CDN;看到解析IP不同,也只能说明解析存在差异,不能直接断定源站故障。只有把源站直连结果和域名请求结果放在一起对比,才能确认问题层。
清理缓存不是越猛越好。对域名与空间来说,常见误区有:
robots.txt当成索引移除工具。它只能限制抓取,不能可靠地把已收录页面从搜索结果中移除。如果改动的是域名解析,还要注意TTL设置。TTL较长时,旧解析会在递归DNS中保留一段时间,这段时间内不同网络看到不同结果属于正常现象,不代表空间故障。
处理完成后,用三个独立条件复查:
三项都通过,才能判断缓存假象已经排除。如果只有一项通过,说明还有一层没有对齐,应回到对应层继续查,而不是反复刷新页面。
下一步:把当前域名的解析记录、CDN缓存规则和源站响应头各截一份,按“解析层、中间层、源站层”三列对照,先处理差异最大的那一列。