Folkert van Heusden wrote:
To help the debugging I also found an url that is accessible to everyone:
failed:
------
192.168.0.90 - - [12/Feb/2010:15:28:21 +0000] "GET
http://www.ibm.com/common/v15/main.css HTTP/1.0" 200 10015
"http://www-03.ibm.com/systems/hardware/browse/linux/?c=serversintro&n=Linux
2001&t=ad" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;
InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
TCP_MEM_HIT:DIRECT
http://redbot.org/?uri=http%3A%2F%2Fwww.ibm.com%2Fcommon%2Fv15%2Fmain.css
In short: The website is screwed.
1) The resource doesn't send Vary consistently.
... this means that the following might have happened:
A fetches compressed version of main.css -> gets a copy main.css.
B fetched non-compressed version of main.css -> Squid finds a stored
copy of main.css. Vary: rules say nothing about compression. So Squid
passes it back.
2) The ETag doesn't change between representations.
... means the following might have happened:
A already had a copy of main.css. It's non-compressed and the server
called it ETag:XYZ
B fetches a compressed copy of object main.css from Squid -> The
server returns the compressed version and calls it ETag:XYZ.
Squid stores it under the name main.css:(ETag:XYZ).
A requests a new copy of main.css(ETag:XYZ) -> Squid find its stored
copy of main.css:(ETag:XYZ) and passes it back.
Going by the sizes of whats working, I'd guess #2 as most likely. But
depending on the specific Vary: brokenness it might be either.
Your working test works because Ctrl+Reload send special controls which
bypass any stored copies Squid might have and goes directly back to the
web server. Note that you have now poisoned the cache for any other
machines which were previously working with teh copies Squid use to store.
They will now need to Ctrl+Reload to see the page properly, and thus
poison it for you...
The only person who can fix this is the website author or webserver admin.
Amos
--
Please be using
Current Stable Squid 2.7.STABLE8 or 3.0.STABLE24
Current Beta Squid 3.1.0.16