排除缓存假象的核心做法是:不要只看一次打开结果,而是用无缓存请求、不同网络与不同设备交叉验证,并把“解析结果、响应头、页面内容”分开记录。假设你负责一个VIP域名选择项目,同事说“新域名已经生效”,你打开却还是旧页面,这很可能是本地DNS缓存、浏览器缓存、CDN缓存或服务端缓存造成的假象,而不是域名本身没切换成功。
VIP域名选择通常涉及解析切换、证书部署和页面指向。不同缓存层看到的“结果”不一样:
判断时不要只问“有没有缓存”,而要问“哪一层缓存、缓存了什么、缓存键是什么”。
假设某团队为VIP域名选择准备把 vip.example.com 从旧服务器切到新服务器。交付前,A同事说已经改了解析,B同事打开仍是旧页面,C同事打开却是新页面。此时不能直接判定“解析没生效”或“新服务器有问题”。
nslookup vip.example.com 或 dig vip.example.com。如果返回的IP与预期一致,说明至少当前递归解析器拿到了新记录;如果返回旧IP,继续查本地 hosts、路由器DNS和权威记录。curl -I 查看响应头。重点看 Cache-Control、Age、ETag、Last-Modified 和 X-Cache 一类字段。若 Age 很大,说明中间缓存可能仍在提供旧响应。这个例子里,只有把“解析结果”和“页面内容”分开记录,才能避免把缓存假象当成切换失败。
为了减少返工,VIP域名选择的交付记录不要只写“已生效”。建议至少包含以下检查项:
如果多人看到的结果不一致,先对比这些记录,而不是反复刷新页面。刷新只能排除一部分浏览器缓存,不能证明CDN或服务端已经更新。
常见错误包括:只看一次浏览器结果就下结论;把 robots.txt 的抓取限制当成索引移除;以为站点地图提交后就会立刻收录;以为上了HTTPS就不会有安全问题或排名问题。这些判断都需要分别核查,不能混在一起。
更稳妥的判断结果是:解析一致、源站内容正确、响应头显示缓存已过期或已绕过,并且不同网络结果一致,才能认为缓存假象基本排除。若仍有个别网络看到旧内容,继续查该网络到源站之间的代理、CDN节点和本地DNS,而不是重新改一遍域名解析。
下一步可以给VIP域名选择项目加一张“切换验证表”,把解析、响应头、源站内容、不同网络结果四项固定记录下来,交付时直接附上,减少口头确认带来的返工。