在做的CDN的机器的http头中,我们常常见到X-Cache和X-Cache-Lookup的二个参数,那这二个参数分别是什么意思,有什么分别啦.
HTTP/1.0 200 OK Expires: Mon, 23 Jun 2008 09:16:40 GMT Cache-Control: max-age=60 Content-Type: text/html Accept-Ranges: bytes ETag: "985899363" Last-Modified: Mon, 23 Jun 2008 08:17:40 GMT Content-Length: 54218 Date: Mon, 23 Jun 2008 09:15:40 GMT Server: Microsoft-IIS/7.0 Age: 20 X-Cache: HIT from cdcnc-253-238 X-Cache-Lookup: HIT from cdcnc-253-238:80 Via: 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 OK Expires: Mon, 23 Jun 2008 09:16:40 GMT Cache-Control: max-age=60 Content-Type: text/html Accept-Ranges: bytes ETag: "985899363" Last-Modified: Mon, 23 Jun 2008 08:17:40 GMT Content-Length: 54218 Date: Mon, 23 Jun 2008 09:15:40 GMT Server: Microsoft-IIS/7.0 Age: 20 X-Cache: MISS from cdcnc-253-238 X-Cache-Lookup: HIT from cdcnc-253-238:80 Via: 1.0 cdcnc-253-238 (squid/3.0.STABLE1-20080201) Connection: close 解释: 1,文件在squid中超过了 refresh_p参数设置的时间,访问的时候会去后端验证,这个时候返回的是miss: (X-Cache: MISS from cdcnc-253-238) 但发现后端文件并没有更新,所以squid继续使用cache文件,返回的就是hit: X-Cache-Lookup: HIT from cdcnc-253-238:80 2,客户端给了一个ctrl+f5,但refresh_pattern参数中设置了reload-into-ms,这时文件也会到到后端验证,同样返回miss,但后端告诉squid文件未更新,所以squid继续从cache返回给client,返回的就是hit (X-Cache-Lookup: HIT from cdcnc-253-238:80)
总结: 1.X-Cache的意思是 请求域名指向的那个squid,也就是我的10.1.15.156。如果是MISS表明这个请求的处理不是由这个squid直接处理的。HIT表明这个请求来到这里,由我这里的cache来处理的。
2.X-Cache-Lookup 请求域名指向的那个squid的下一个节点(父节点或者是姐妹节点)。如果是MISS多数表示squid中没有这个请求的cache,而来squid的后端(apache)来取。HIT表明squid中有这个请求的cache。
转自:http://blog.163.com/lgh_2002/blog/static/440175262011325649898/ http://hi.baidu.com/green_lizard/item/d9b5d096e03f672e336eeb90