Using 2.6.14-1ubuntu2 in an reverse/accelerator setup.
URLs I hope to be cached aren't, even after adjusting passed headers.
For example, I request an URL with FireFox, get the expected MISS. Then
request same URL with IE, get unexpected MISS when I'd like a HIT. Then
request same URL with Chrome, get MISS instead of HIT. Finally, request
with Safari, finally get a HIT.
I gather that the key variable is the differing Accept-Encoding headers:
Firefox: gzip,deflate
IE: gzip, deflate
Chrome: gzip,deflate,bzip2
Safari: gzip, deflate (same as IE, hence the HIT)
My theory was that stripping the varied header values and replacing them
with the lowest-common-denominator (and the only variant ever returned
by the parent server) could help. So I added the following to my squid
configuration:
header_access Accept-Encoding deny all
header_replace Accept-Encoding gzip
However, this has not changed the HIT/MISS pattern at all.
Any other ideas for letting all these browsers share the same cached
version?
(Bonus question: My inner-server's 404 responses include a 24-hour
Expires header. Will these be cached by squid for the declared period or
the shorter negative-ttl? The info at
<http://wiki.squid-cache.org/SquidFaq/InnerWorkings#head-aed2acb07aed79ef1f7a590447b6a45a8dd8e7d1>
is unclear which wins.)
- Gordon @ IA