On Sun, 17 Feb 2002, Graham Leggett wrote:

> Igor Sysoev wrote:
> 
> > The main problem is proxies, especially Squid (~70% of all proxies)
> > Proxies can store compressed response and return it to browser
> > that does not understand gzipped content.
> 
> Is this verified behavior? If a proxy returns compressed content to a
> browser that cannot handle it, then the content negotiation function
> inside the proxy is broken - and as squid has an active developer
> community, I seriously doubt that a bug this serious would go unfixed.

Yes, it is verified behavior. Squid can return cached compressed content
to client that does not send "Accept-Encoding: gzip". As far as I
know MSProxy 2.0 does the same.

> RFC2616 describes the "Vary" header, which helps determine on what basis
> a document was negotiated. mod_deflate should use content negotiation
> and the presence of the Vary header to determine what to do, as is laid
> down in the HTTP spec.
>
> > So you should by default disable encoding for requests
> > with "Via" header and HTTP/1.0 requests (HTTP/1.1-compatible
> > proxy must set "Via" header, HTTP/1.0-compatible should but not have).
> 
> I disagree. Virtually all content is going to go through a proxy of some
> kind before reaching a browser. Doing this will effective render
> mod_deflate useless.
>
> mod_deflate should behave according to RFC2616 - and you won't have
> problems.

Using "Vary" does not resolve the problem completetly.
"Vary" defined for HTTP/1.1 but we need to work with HTTP/1.0
requests also. Yes, Squid understand "Vary" and does not cache such
response at all (at least Squid 1.2.x-2.4.x). But MSIE 4.x does not cache
documents with "Vary" too. I don't know about later MSIE version -
I will investigate it.

Yes, compressing HTTP/1.1 and non-proxied requests only is not such
effective as compressing any request with "Accept-Encoding: gzip".
But any web master can choose is he intrested in old clients or not.

About efficiency - my mod_deflate module with conservative settings
(HTTP/1.1, non-proxied requests) save up to 8M/s bandwidth for
www.rambler.ru and search.rambler.ru.

Igor Sysoev

Reply via email to