LiveHttpHeaders:哪个缓存控制信息是正确的

1 firefox header http cache-control

使用LiveHttpHeadersfor Firefox 6我试图看看我的css,JS文件是否使用htaccess从Apache使用Headers Module进行缓存.但我很困惑,"Cache-Control"数据中有2个值:

GET /proz/css/global.css HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Referer: http://localhost/proz/
Cookie: PHPSESSID=el34de37pe3bnp4rdtbst1kd43
If-Modified-Since: Fri, 16 Sep 2011 21:15:32 GMT
If-None-Match: "400000000b06a-2999-4ad157e5b4583"
Cache-Control: max-age=0

HTTP/1.1 304 Not Modified
Date: Sat, 17 Sep 2011 03:04:50 GMT
Server: Apache/2.2.17 (Win32) PHP/5.2.8
Connection: Keep-Alive
Keep-Alive: timeout=5, max=99
Etag: "400000000b06a-2999-4ad157e5b4583"
Cache-Control: max-age=604800, public
Vary: Accept-Encoding

哪一个是真实数据,第一个Cache-Control数据(max-age = 0)或后者.

我还想知道在htaccess中使用deflate模块之后如何确保我的JS,CSS,HTML文件被压缩.是的,标题和deflate模块都打开了.

Arn*_*anc 5

此列表分为两部分:

  • 空白行前面的部分是您的浏览器发送的请求
  • 空行后的部分是服务器发送的响应

Cache-Control: max-age=0客户端(浏览器)发送通知服务器(或中间任何代理)发送文件的最新鲜的版本.当您点击刷新按钮时,浏览器通常会发送此信息.

Cache-Control: max-age=604800, public服务器发送通知客户端(浏览器或代理),该文件的有效期为604800秒并可以缓存到时候.(浏览器甚至不会尝试询问服务器是否存在更新的版本,除非你点击刷新,就像在这种情况下那样.)

服务器回复304 Not Modified,这意味着您的浏览器已经拥有最新版本,并且不需要再次下载(它没有再次下载).

Vary: Accept-Encoding头表明服务器采取基于客户端的一些决定Accent-Encoding头.这可能表明,如果服务器没有回复304 Not Modified,它就会压缩文件.

要验证最后一点,请清除缓存,然后再次请求文件,并查看Content-Encoding标题的内容(如果数据已压缩,则必须是gzip或deflate).