【问题标题】:304 Not Modified with 200 (from cache)304 未修改为 200(来自缓存)
【发布时间】:2013-10-28 23:54:02
【问题描述】:
我试图了解“状态 304 未修改”和“200(来自缓存)”之间的确切区别
我在上次更改的 javascript 文件上收到 304。为什么会这样?
感谢您的帮助。
【问题讨论】:
-
此问题与Here 相同。您将在此处获得详细信息,这会很有帮助。
-
-
标签:
http
http-status-code-304
【解决方案2】:
“200(来自缓存)”表示浏览器为所发出的请求找到了缓存响应。因此,它没有通过网络调用从远程服务器获取该资源,而是简单地利用了缓存的响应。
现在这些缓存的响应具有与之关联的生命周期。随着时间的推移,响应可能会变得陈旧。如果这些服务不允许陈旧(参见section 4.2.4 - RFC7234),浏览器需要联系远程服务器并验证这些缓存的响应是否仍然有效。 304 响应状态码是服务器让浏览器知道响应没有改变并且仍然有效的方式。
如果浏览器收到304 响应,它可以“刷新”相关的陈旧响应。随后对资源的请求可以再次从浏览器缓存中得到服务,而无需与远程服务器进行检查(直到响应再次变得陈旧)。
【解决方案3】:
304 修改
304 Not Modified 表示文件自“If-Modified-Since”或“If-None-Match”指定的版本以来没有被修改过。
200 正常
如果 HTTP 请求有效,这是您将得到的响应。 GET 请求将包含与文件相关的内容。 POST 请求将包含保存操作结果的内容。
编码愉快!
Lyfe