IE6 problems when using gzip_disable
Maxim Dounin
mdounin at mdounin.ru
Fri Jan 21 19:53:28 MSK 2011
Hello!
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:
> >
> > http://support.microsoft.com/kb/812935
> 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