HTTP 304 Not Modified
客户端重定向响应代码指示不需要重新传输请求的资源。
在客户端向服务端发送http请求时,要是返回http状态码为304 Not Modified 则表明此次请求为条件请求。在请求头中有两个请求参数:If-Modified-Since 和 If-None-Match。

当客户端缓存目标资源但不确定缓存的资源是否为最新版本时,会发送条件请求。客户端在发出条件请求时,会向服务器提供一个 If-Modified-Since 请求头,其值为服务器上次返回的响应头中的 Last-Modified 值,以及一个 If-None-Match 请求头,其值为服务器上次返回的 ETag 响应头的值。
服务器将读取这两个请求头中的值,并判断客户端缓存的资源是否是最新的。如果是,服务器将返回HTTP/304未修改响应头,但没有响应体。客户端收到304响应后,将从本地缓存中读取相应的资源。因此,当存在对被访问资源的304访问时,被访问的资源实际上首先被本地缓存。
浏览器兼容性
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
兼容性说明
- 如果此响应错误地包含持久连接上的主体,则浏览器行为会有所不同。有关更多详细信息,请看其他内容
If-Modified-Since
If-None-Match
总结
使用F5刷新网页时,返回HTTP 304 Not Modified
使用ctrl+F5刷新网页时,返回HTTP 200
叨叨几句... NOTHING