> curl --head http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js HTTP/1.1 200 OK Last-Modified: Thu, 19 Feb 2009 22:38:52 GMT Content-Type: application/x-javascript; charset=UTF-8 Expires: Fri, 27 Aug 2010 18:40:36 GMT Date: Thu, 27 Aug 2009 18:40:36 GMT Vary: Accept-Encoding X-Content-Type-Options: nosniff Cache-Control: public, max-age=31536000 Age: 7435 Server: GFE/2.0 Transfer-Encoding: chunked
它说到2010年8月27日到期。caching控制说max-age = 315360000(远在将来)。 这是否意味着浏览器会长时间caching这些数据? 或根据到期价值,它会立即要求另一个副本?
我的理解是,Expires头是旧的方法,而Cache-Control是现代的做法,可以更细粒度地处理代理服务器等。
无论哪种情况,该文件的版本1.3.2总是版本1.3.2,所以他们都说要caching很长很长的时间。
从curl粘贴到最大年龄的价值是31536000,或1年。 所以两个标题都说同样的事情:考虑内容新鲜的一年。
如果Cache-Control和Expires之间存在冲突,浏览器应该监听Cache-Control,
这意味着caching控制覆盖过期(这是写在HTTP / 1.1文档)