- 论坛徽章:
- 0
|
这个问题也解决了,还是通过在应用服务器上加了个Filter,对有多语言版本的网页返回时在Header中加上 Vary :accept-language, 这样cache 时就对不同的语言进行了cache, 现在还不清楚这种方法会不会有其它的问题,是看了 apache 手册中的这几句话后进行测试可行的方法:
易变的/协商的内容
当mod_cache接收到一个后端发出的、带有"Vary"头的应答的时候,它将尽可能智能的处理它。如果有机会,mod_cache将会检查之后进入的请求的"Vary"头属性,然后用正确的缓冲区内容为这个请求提供服务。
举个例子来说,接收到一个带有如下"Vary"头的应答:
Vary: negotiate,accept-language,accept-charset
mod_cache将只会使用与原始请求的accept-language和accept-charset头匹配的缓存内容来提供服务。
--------------------------------
看来上面的理解是错误的,今天又看了一下,看来如果两次url一样,而头不一样,cache中只有一种(url+headers)的的cache,如果这时请求了不同headers的同一url,也不会再cache了,当然也就不会命中
[ 本帖最后由 itsenser 于 2007-3-18 00:14 编辑 ] |
|