Search squid archive

Re: Inconsistent gzip'ing of object...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



lör 2008-04-12 klockan 15:22 -0400 skrev Chris Woodfield:
> Thanks for taking the time to explain this. So let me make sure I  
> understand the logic flow:
> 
> Without broken_vary_encoding -
> 
> If squid caches an object that was delivered with a "Vary: Accept- 
> Encoding" header, then each request for that object with a different  
> Accept-Encoding header will result in a request for that object back  
> to origin with "If-None-Match" set to the ETag of the origin object.  
> If the server is not broken, it then delivers another version of the  
> object (gzipped, plaintext, whatever) with a different ETag, and squid  
> caches that version in addition to the first. Life is good.

Yes.

> If the server is broken and returns "304 Not Modified" instead, squid  
> returns the same object, regardless of the requested encoding.

Yes, as this is what the server told Squid to do..

> With broken_vary_encoding -
> 
> Instead of checking with the server via If-None-Match, squid will  
> fetch a new copy of the object for each unique Accept-Encoding header  
> requested.

Yes.

> It appears, from my testing, that Apache and lighttpd both are broken  
> in this respect; so I plan on putting both ^Apache and ^lighttpd in my  
> broken_vary_encoding acl. Do you know of any other servers I might  
> want to add to this string as well?

Apache is broken to different degrees depending on the version. From
what I understand the Apache team have now fixed this problem, but not
entirely sure in which release (if released yet...)

> Also, when squid has multiple versions of an object due to this, will  
> a purge command with the URL alone get rid of all of them, or does one  
> have to do multiple queries with different Accept-Encoding headers to  
> make sure they all get purged?

PURGE on Vary:ing objects is a bit troublesome (Bug #1893). It doesn't
work very well, regardless of the setting of broken_vary_encoding, but I
suppose that with broken_vary_encoding enabled the problems get even
more visible.

The upcoming 2.7 release has a fix for this problem.

Regards
Henrik


[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux