Chrome v132中基于If-Modified-Since的传递资源HTTP缓存疑问
浏览器缓存行为疑问:HTML未修改时关联资源直接读取本地缓存?
问题背景
涉及资源:
index.html main.js data.json
- 首次请求这些资源时,所有响应均返回相同的
Last-Modified头,但未包含Cache-Control头。 - 后续再次请求时,
index.html的请求返回304 Not Modified,这符合预期——因为请求头里携带了If-Modified-Since。 - 反常的是:浏览器完全没有向服务器发起
main.js或其加载的data.json的请求,直接从本地缓存读取了这两个资源。
由此推测浏览器的逻辑似乎是:如果index.html未修改,那么它引用的main.js以及main.js获取的所有资源也都未修改。
核心疑问
- 上述行为是否有官方文档明确说明?
- 是否存在未被检测到的其他缓存相关响应头?(目前未发现其他缓存头)
- 原本预期每个资源都会单独向服务器发起请求(未修改则返回304),但实际并非如此,原因是什么?
环境:Chrome v132
内容的提问来源于stack exchange,提问作者Cheetah
相关产品推荐
相关产品推荐

