httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Igor Sysoev>
Subject Re: mod_deflate Vary header
Date Tue, 08 Nov 2005 09:50:13 GMT
On Tue, 8 Nov 2005 wrote:

>> Igor Sysoev wrote
>> Actually, with MSIE 5.5+ appearance the chances that client can not
>> decompress the response from downstream cache have increased.
>> If MSIE 5.5 is configured to work via proxy with HTTP/1.0, then
>> MSIE will never send "Accept-Encoding" header, and it would refuse
>> the compressed content.
> You are right on the first part. If you don't have the "Use HTTP/1.1
> for Proxies" checkbox on then no "Accept-Encoding:" header
> would be sent... ( principle of least astonishment applies here ).
> ...however... I think you will discover on closer inspection that
> the second part is not true. Even if MSIE 5.x doesn't send an
> "Accept-Encoding: gzip" header... it KNOWS it can decompress
> and will do so for any response that shows up with "Content-encoding: gzip"
> regardless of whether it sent an "Accept-Encoding: gzip" header.

I've just checked MSIE 6.0 configured to work via proxy with HTTP/1.0
(default settings). I've preloaded into the proxy the compressed pages using
Firefox. Then I've asked the same pages from MSIE. MSIE has showed
1) compressed pages for "/page.html" requests
2) and the "Save file" message box for the "/dir/" requests.

>> My mod_deflate allows optionally to add "Vary" header to compressed
>> response only.
> So you still run the risk of only getting one variant 'stuck' in a
> downstream cache. If the uncompressed version goes out at
> 'start of day' with no "Vary:" then the uncompressed version
> can get 'stuck' where you don't want it until it actually expires.

I prefer to use compressing as safe as possible.
So the default settings of my mod_deflate and my new lightweight server
named nginx are:

1) compress "text/html" only;
2) compress HTTP/1.1 requests only;
3) do not compress responses for the proxied requests at all.

And of course, mod_deflate and nginx have many directives to change
this behavior: for example, they may compress responses for proxied
requests if responses have "Cache-Control" header with the "private",
"no-store", "no-cache" values.

Igor Sysoev

View raw message