首页 > HTTP响应中Cache-Control: max-age设置的缓存,什么时候会在浏览器关掉后失效?

HTTP响应中Cache-Control: max-age设置的缓存,什么时候会在浏览器关掉后失效?

清除缓存后,用IE 8访问百度首页,百度logo图片的请求和返回结果如下:

GET /img/bdlogo.gif HTTP/1.1
HTTP/1.1 200 OK
Date: Wed, 05 Jun 2013 13:21:17 GMT
Server: Apache
Last-Modified: Fri, 22 Feb 2013 03:45:02 GMT
ETag: "627-4d648041f6b80"
Accept-Ranges: bytes
Content-Length: 1575
Cache-Control: max-age=315360000
Expires: Sat, 03 Jun 2023 13:21:17 GMT

HTTP返回的header中,最后两行表示,缓存设置的有效期是3650天
在我家里面的电脑上测试时,如果马上关掉浏览器重新打开百度首页,这个图片会直接从浏览器的缓存中读取,和我的理解一致。
但奇怪的是在公司的电脑上,按照同样的步骤、浏览器测试,第二次访问的时候浏览器并没有读取本地缓存,而是重新向服务器发出了请求,服务器返回304状态代码。

可能是什么原因造成了两次测试结果的不一致?


在公司的电脑里面实际上读取的也是本地缓存。304 响应码只是客户端发送一个请求,询问资源是否修改,如果没有,就会读取本地缓存。

【热门文章】
【热门文章】