本文共 1611 字,大约阅读时间需要 5 分钟。
在做的CDN的机器的http头中,我们常常见到X-Cache和X-Cache-Lookup的二个参数,那这二个参数分别是什么意思,有什么分别啦.
HTTP/1.0 200 OK
Expires: Mon, 23 Jun 2008 09:16:40 GMTCache-Control: max-age=60Content-Type: text/htmlAccept-Ranges: bytesETag: "985899363"Last-Modified: Mon, 23 Jun 2008 08:17:40 GMTContent-Length: 54218Date: Mon, 23 Jun 2008 09:15:40 GMTServer: Microsoft-IIS/7.0Age: 20X-Cache: HIT from cdcnc-253-238X-Cache-Lookup: HIT from cdcnc-253-238:80Via: 1.0 cdcnc-253-238 (squid/3.0.STABLE1-20080201)Connection: close见到了吗?很奇怪吧,HIT表示命中,怎么会有二个命中.
X-Cache:其实就个就是真实本机的HIT和MISS.X-Cache-Lookup:这个就是向父,还有sibling模式的查询,比如ICP。之类命中的数据。
对于另一种情况:
HTTP/1.0 200 OKExpires: Mon, 23 Jun 2008 09:16:40 GMTCache-Control: max-age=60Content-Type: text/htmlAccept-Ranges: bytesETag: "985899363"Last-Modified: Mon, 23 Jun 2008 08:17:40 GMTContent-Length: 54218Date: Mon, 23 Jun 2008 09:15:40 GMTServer: Microsoft-IIS/7.0Age: 20X-Cache: MISS from cdcnc-253-238X-Cache-Lookup: HIT from cdcnc-253-238:80Via: 1.0 cdcnc-253-238 (squid/3.0.STABLE1-20080201)Connection: closeharvey兄给的解释:1,文件在squid中超过了 refresh_p参数设置的时间,访问的时候会去后端验证,这个时候返回的是miss:(X-Cache: MISS from cdcnc-253-238)但发现后端文件并没有更新,所以squid继续使用cache文件,返回的就是hit:X-Cache-Lookup: HIT from cdcnc-253-238:802,客户端给了一个ctrl+f5,但refresh_pattern参数中设置了reload-into-ms,这时文件也会到到后端验证,同样返回miss,但后端告诉squid文件未更新,所以squid继续从cache返回给client,返回的就是hit(X-Cache-Lookup: HIT from cdcnc-253-238:80)由于我的设置是:refresh_pattern www.domian.com 10 0% 60 reload-into-ims过期时间设置的很短,所以上述解释有可能是对的!验证:1.将参数换为ignore-reload,果然出现了两个HIT2.改为refresh_pattern company.zhaopin.com 1440 0% 2880 reload-into-ims时间加大,果然也出现两个HIT转载地址:http://rpwvf.baihongyu.com/