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 响应码只是客户端发送一个请求,询问资源是否修改,如果没有,就会读取本地缓存。

  • http 请求方式在哪设置
  • ubutnu16.04 uWSGI配置问题?
  • 边缘直播服务器用nginx怎么实现?
  • 如何用Ajax跨域得到HTTP响应头中的Date
  • 如何进行缓存头部资源请求,都有什么办法?
  • angularjs在IE10中的问题
  • 怎么把本地的数据post给另一台电脑?
  • OPTIONS请求没有得到正常的Response Headers
  • Nginx 出现大量 client closed connection while waiting for request,请问可能是什么问题?
  • 有没有办法在客户端通过JS实现HTTP长连接
  • 优酷的视频放到自己网站时,如果自己的网站网址是https开头该怎么播放?