IE6 problems when using gzip_disable

Maxim Dounin mdounin at
Fri Jan 21 19:53:28 MSK 2011


On Thu, Jan 20, 2011 at 05:41:48PM -0500, dbro wrote:

> Thanks for the suggestions Maxim. I think there is some progress
> described below:
> Maxim Dounin Wrote:
> -------------------------------------------------------
> > Probably (at least your installation of) IE6 has
> > problems with 
> > downloading (big?) .js files over keepalive
> > connections.  Gzip has 
> > mostly nothing to do with it as 1) it's disabled
> > as expected, 2) 
> > one can't rely on content being gzipped all over
> > the net anyway 
> > and 3) having problems with non-gzipped content
> > doesn't mean there 
> > are no problems with gzipped one.
> I'm not sure I understand what you mean. It seems like gzip is involved
> in the problem, either on IE's end or nginx's end, based on this
> summary:
> With nginx conf file having "gzip off;", the problem exists (for .js
> files. other files work OK)
> With 'gzip on; gzip_disable "msie6"', the problem exists (for .js files.
> other files work OK)
> Keeping "gzip on;" and removing 'gzip_disable "msie6"', fixes the
> problem for .js files, and other files continue to work OK.

The fact that switching gzip on resolves the problem doesn't mean 
that it's gzip-related problem.  It's just a problem which happens 
to disappear for some reason once you enable gzip.

Possible reasons why it disappears include:

1. Other code path in IE for gzipped content.

2. Other code path in IE due to chunked encoding (which gzip 
uses).  You may want to test with gzip_static to see if the 
problem reappears with it, as gzip_static won't trigger 
gzip_static.  And you may want to test if using ssi and/or sub 
filters will resolve problem.

3. Just a smaller size of gzipped responses, i.e. using bigger 
files will trigger the problem with gzip as well.

> > You may want to check the following:
> > 
> > 1. If size or actual javascript content matters
> > (i.e. if using 
> > smaller or simplier file makes any difference).
> Yes! I created a test file with a single javascript command (alert('test
> message');) followed by a long block comment. When the text file's size
> was less than 2596 bytes (gzip'd file was 719 bytes), it worked just
> fine. Any larger, even by a single character, and it would show the same
> delay as before. What does this mean?

Looks like buffering problem in IE, as initially suspected.

Do the problem reappear at some point even with gzip enabled (i.e. 
when gzipped size exceeds some threshold)?

> > 2. If removing gzip completely makes any
> > difference.
> See above. the problem exists when nginx's conf file has "gzip off;"
> too.
> > 3. If using another web server with keepalive
> > support makes any 
> > difference.
> I havent tried this

You may want to.  As well as checking if the problem appears on 
other installations of the same version of IE6, and other versions 
of it.

> > 4. If your IE6 installation is able to cache files
> > (and time is 
> > set correctly).  Note that most of the problems
> > with "IE can't 
> > download file" seems to be caused by "can't save
> > to disk but need 
> > to" problem, see here:
> > 
> >
> This souded like a different problem, involving https. In any case, they
> recommend unchecking a box to fix it (if I read it correctly), and it
> was already unchecked in the IE options.

As you may see there, unchecking a box isn't enough: the same 
problem may be caused by Cache-Control from a server.

I believe the same/similar problem may affect other scenarios 
where saving to disk is needed but not available (e.g. corrupted 
installation, problems in IE cache store and so on).

Maxim Dounin

More information about the nginx mailing list