的LiveHTTPHeaders:该缓存控制信息是正确的(LiveHttpHeaders: whic

2019-09-27 10:42发布

使用LiveHttpHeaders为Firefox 6,我想看看我的CSS,使用htaccess的用头模块Apache的被缓存的JS文件。 但我混淆,也有从“缓存控制”数据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

哪一个是真实的数据,该第一缓存控制数据(最大年龄= 0)或后者。

我也想知道我该如何确保我的JS,CSS,HTML文件被压缩后,我使用htaccess的紧缩模块。 是的,无论是头部和放气模块接通。

Answer 1:

有两个部分在这个清单:

  • 空行之前的部分是请求,浏览器传送
  • 该空行之后的部分是响应,所述服务器发送

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

Cache-Control: max-age=604800, public服务器发送通知客户端(浏览器或代理),该文件的有效期为604800秒,并可以缓存到时候。 (浏览器甚至不会attemps询问服务器是否有新版本出现,除非你打刷新 ,当你在这种情况下做。)

该服务器的回复304 Not Modified ,这意味着你的浏览器已经有最新的版本,它不需要重新下载(它没有重新下载)。

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

为了验证这最后一点,清除缓存,并再次请求文件,并查看内容Content-Encoding头(必须在gzip或者如果数据被压缩放气)。



文章来源: LiveHttpHeaders: which cache-control info is right