DevTools 缓存调试

用 Network 和 Application 面板调试缓存命中、304、memory cache、disk cache、Disable cache 和 Cache Storage 行为。

#type / concept #status / growing #tech / dev / frontend #platform / browser #resource / chrome-devtools

[!info] related notes

DevTools 缓存调试

一句话定义

缓存调试是在 DevTools 里区分这次响应到底来自网络、HTTP 缓存还是 Service Worker / Cache Storage。

核心内容

重点看什么

  • 状态列是否出现 304from memory cachefrom disk cache
  • Response Headers 里的缓存语义
  • Disable cache 开关是否影响结果
  • Application 面板里的 Cache Storage 与 Service Worker 状态

常见场景

  • 改了代码但页面没更新
  • 请求明明没打到服务器却返回旧内容
  • 刷新和强刷新的结果不一样
  • 响应看起来被缓存了但返回了错误内容 → 检查 Vary 头部是否匹配 → Vary 与缓存键

Network 面板状态速查

  • 200 from memory cache → 内存缓存命中
  • 200 from disk cache → 磁盘缓存命中
  • from prefetch cache → prefetch 缓存命中
  • 304 Not Modified → 协商缓存命中
  • 200 → 网络请求

边界与易混淆点

  • HTTP 缓存和 Cache Storage 不是一回事
  • Disable cache 主要影响 Network 请求行为,不等于彻底清空所有站点数据
  • 如果 Service Worker 接管请求,要继续看 Service Worker 请求调试
  • Vary 不匹配时缓存不会命中,即使 URL 相同
创建于 2026/4/13 更新于 2026/5/27