gpt4 book ai didi

html - 为什么这个请求返回 200(来自缓存)而其他请求返回 304?

转载 作者:太空狗 更新时间:2023-10-29 16:34:43 24 4
gpt4 key购买 nike

嗯,我正在研究浏览器缓存并编写一个 Node http 服务器来帮助我学习,我同时使用了缓存控制和上次修改。然后在Chrome中输入这个url,我直接按F5看缓存能不能用。最后结果好像有点奇怪。 one return 200 and the others return 304 as excepted

Intro_1.jpg 由 style.css 加载 (background-image:url(../images/intro_1.jpg); )那么为什么这个请求返回 200(来自缓存)而其他请求返回 304?那是对的吗?

最佳答案

,200 与 304 状态代码始终取决于资源是否已“过期”。您是对的,状态代码 200 表示来自缓存 - 未发出 HTTP 请求 - 这就是您在 DevTools 中看到 From Memory Cache 的原因。状态代码 304 表示缓存条目已过期,浏览器别无选择,只能发出 HTTP 请求以询问服务器是否进行了任何更改。服务器返回 304 状态代码是一种告诉浏览器它不需要下载新版本资源并且可以继续使用相同缓存条目的方式。

更多:What is the difference between HTTP status code 200 (cache) vs status code 304?

每个资源都有自己的超时值,所以有可能一些会过期而其他人不会。您应该在 DevTool 中检查 HTTP 响应——在 Network 选项卡中,单击一个请求,然后在右侧单击 Response。您可以看到服务器提供给浏览器的到期值。检查资源是否有不同的max-age,或者它们是否有不同的last-modified。我敢肯定,在这种情况下,jpg 在 CSS 文件中并不重要。

关于html - 为什么这个请求返回 200(来自缓存)而其他请求返回 304?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40714934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com