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

  • php,curl如何查看发出的post请求的信息
  • 做前端的进来,多个css、js同时加载问题
  • angularjs http请求问题
  • 怎样在HttpServletRequest 加入一个head值
  • 大公司里面的 一级, 二级,三级缓存 分别存储那些内容?详细点,谢谢
  • post上传文件, content-length 与实际获取的大小不相符
  • JSON数据的HTTP Header应该怎么标记?
  • 关于php 连接 sqlite
  • node.js静态文件服务器回传HTML页面样式显示不正常
  • 做OpenAPI有什么捷径吗?
  • js如何判断video播放的视频内容是已经缓存了的还是新请求的?