缓存配置

谷歌浏览器如何强制刷新DNS并清除特定网站缓存?

2026年5月3日谷歌浏览器官方团队
谷歌浏览器如何刷新DNS, 清除特定网站缓存步骤, DNS缓存强制更新方法, 谷歌浏览器禁用缓存模式, 单站点缓存清理教程, 开发者工具清除缓存, net-internals DNS刷新, 网站改版后缓存未更新怎么办, 谷歌浏览器清除DNS缓存命令, 本地DNS与浏览器缓存区别

功能定位:为什么需要“强制刷新 DNS”与“清站点缓存”

Chrome 126 之后,浏览器把 DNS 预取、HTTP 缓存、JS 编译缓存、Service Worker 缓存拆成四条独立存储。只要其中一环残留旧记录,就会出现“换了解析 IP 仍访问旧源站”“样式已更新却刷不出来”的假象。强制刷新 DNS 与清站点缓存,本质是同时打断「域名→IP」「资源→本地副本」两条链,让浏览器重新完成网络握手,而非复用本地快照。

经验性观察:测试环境刚迁到新集群时,仅按 F5 往往只跳过 HTTP 缓存,DNS 记录仍指向旧机,页面混合 200/304 与 404 资源;此时需把 DNS 缓存一并失效,才能一次性对齐。

功能定位:为什么需要“强制刷新 DNS”与“清站点缓存”
功能定位:为什么需要“强制刷新 DNS”与“清站点缓存”

桌面端最短路径:chrome://internals/#dns 三步法

1. 清除主机缓存

地址栏输入 chrome://internals/#dns → 点击「Clear host cache」按钮,约 0.3 秒提示「Entries: 0」。该操作仅清空浏览器自有 DNS 缓存,不影响操作系统级缓存。

2. 停用 socket 池

同一页下方「Sockets」区域点「Flush socket pools」。若省略此步,已建立的 HTTP/3 QUIC 连接会继续复用旧 IP,出现“清 DNS 仍走旧链路”的异常。

3. 硬重载站点缓存

打开目标站点 → DevTools(F12)→ 长按刷新图标 → 选择「Empty Cache and Hard Reload」。此命令跳过 disk cache,并强制重新验证 Service Worker。

移动端差异:Android 与 iOS 的可达入口

Android(Chrome 126)

  • DNS 刷新:地址栏输入 chrome://net-internals/#dns → 右上角「⋮」→「Clear host cache」;若地址栏自动搜索,先在设置里关闭「搜索建议」。
  • 硬重载:地址栏右侧「⋮」→「设置」→「隐私」→「清除浏览数据」→ 时间范围选「最后一小时」→ 仅勾选「缓存的图像和文件」→ 清除后返回标签页,点地址栏再按 Enter。

iOS(Chrome 126)

Apple 要求 WKWebView 与系统共享 DNS 缓存,Chrome iOS 版无法单独清 DNS。折中方案:先开启飞行模式 5 秒→关闭,强制系统刷新 DNS;随后进入 Chrome → 右下角「⋯」→「设置」→「隐私」→「清除缓存」。若仍异常,需到 iOS「设置→通用→传输或还原 iPhone→还原→还原网络设置」。

例外与取舍:什么时候不该清

1. 高延迟弱网课堂:清缓存后首次拉取 2–3 MB 课件,可能把 4G 流量直接跑满,导致视频卡顿。经验性观察:3G 链路下,清缓存后首屏资源请求数翻倍,白屏延长约 1.5–2 倍。

2. 单页应用(SPA)离线包:站点通过 Service Worker 把核心 bundle 离线化,清空缓存会触发 sw.js 重新安装,用户瞬间回到“离线不可用”状态,直至新 bundle 下载完。

3. 企业零信任环境:部分 BeyondCorp 插件把客户端证书缓存在内存,清 socket pools 会导致证书链重协商,触发二次 MFA。建议先在策略里把目标域名加入「网络隔离白名单」。

验证与观测:如何确认已生效

1. DNS 验证

DevTools → Network → 选中第一个 HTML 请求 → 查看「Remote Address」字段,若与权威解析结果一致,说明浏览器 DNS 已更新。若仍显示旧 IP,优先检查操作系统缓存或路由器 DNS Override。

2. 缓存验证

同一面板查看「Size」列,若显示「(from disk cache)」或「(from memory cache)」即代表复用旧副本;理想状态应为「X.X KB」真实字节数。若 Service Worker 拦截,状态码会显示「200 OK (from ServiceWorker)」,需同步点击 DevTools → Application → Service Workers →「Unregister」再刷新。

2. 缓存验证
2. 缓存验证

与第三方工具协同的最小权限原则

若你在 CI 里用 Puppeteer 做回归测试,可在启动参数加入 --host-resolver-rules="MAP example.com 127.0.0.1",临时把域名指向本地,无需全局清 DNS。测试结束后立即移除参数,避免污染后续任务。

对于需要批量检测节点可用性的运维脚本,优先调用 chrome --headless --disable-cache,而非在 GUI 里手动点按钮;这样可确保每条测试都走网络,不会复用上一次缓存。

故障排查速查表

现象最可能原因验证动作处置
清 DNS 后 Remote Address 仍旧系统级缓存未刷新终端执行 nslookup 对比Windows: ipconfig /flushdns;macOS: sudo dscacheutil -flushcache
Empty Cache and Hard Reload 后仍 304Service Worker 优先拦截DevTools → Network → 检查「from ServiceWorker」Application → Service Workers → Unregister
chrome://internals 页面空白企业策略禁用内部页地址栏输入 chrome://policy 查看 DisableInternalURLs联系管理员放行,或改用命令行 --disable-features=InternalDebugPages 反向验证

适用 / 不适用场景清单

  • 适用:前端灰度发布验证、CDN 节点切换、DNS 劫持排障、证书更替后的 OCSP 重拉取。
  • 不适用:弱网直播课、离线 PWA、依赖本地 sw.js 的 IoT 控制台、企业策略强制缓存的内网门户。

最佳实践 5 条(检查表)

  1. 每次切环境前,先在权威 DNS 确认 TTL 已过期,再清浏览器 DNS,避免“浏览器清了、系统没清”的错位。
  2. 清缓存后,用无痕窗口复测一次,排除扩展干扰。
  3. CI 场景优先用 --disable-cache--host-resolver-rules,不在 GUI 里点按钮,减少人因工作遗漏。
  4. 若站点启用 HTTP/3,清 DNS 后务必 Flush socket pools,否则 QUIC 会话仍走旧 IP。
  5. 对高频回归域名,可在本地搭一份 dnsmasq,把 TTL 改成 30 秒,减少等待时间。

FAQ:强制刷新 DNS 与清缓存

清 DNS 后还需重启浏览器吗?

不需要。chrome://internals 的 Clear host cache 立即生效,但已建立的 QUIC 连接需 Flush socket pools 或关闭标签页。

iOS 为什么找不到 chrome://internals?

Apple 限制 WKWebView 共享系统网络栈,Chrome iOS 版未开放内部调试页。需用飞行模式或系统“还原网络设置”间接刷新 DNS。

清缓存会把 Cookie 也删掉吗?

「Empty Cache and Hard Reload」仅跳过 disk/memory cache,不会删除 Cookie、LocalStorage 或 SessionStorage。

收尾:下一步行动

把「chrome://internals/#dns → Clear host cache → Flush socket pools」加入书签栏,并在切环境前跑一遍验证脚本,确认 Remote Address 与预期 IP 一致。若你在 CI 或自动化测试里频繁切换域名,优先用命令行参数禁用缓存,比手动点按钮更可靠。未来版本若把 DNS 与 socket 池合并为「网络上下文」统一入口,上述步骤有望缩减为一次点击,但验证逻辑不变——先看 Remote Address,再看 Size 列是否脱离缓存。

标签
DNS刷新缓存清理开发者工具网络诊断配置优化强制重载