# IE6 problems when using gzip\_disable

**URL:** <https://www.ruby-forum.com/t/ie6-problems-when-using-gzip-disable/202059>\
**Category:** NGINX\
**Created:** [January 20, 2011, 7:15pm UTC](https://www.ruby-forum.com/t/ie6-problems-when-using-gzip-disable/202059 "2011-01-20T19:15:29Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![luislavena](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/0ea827/32.png) [@luislavena](https://www.ruby-forum.com/u/luislavena)\
**Post date:** [January 20, 2011, 7:15pm UTC](https://www.ruby-forum.com/t/ie6-problems-when-using-gzip-disable/202059/1 "2011-01-20T19:15:29Z")

</div>

Hello-  
I am new to nginx, so this may be a silly question. I set up gzip with  
the recommended ‘gzip\_disable “MSIE [1-6].”’ parameter. But this  
results in long delays and/or “IE cannot download” errors when used with  
keepalive and other gzip options. It only seems to affect js files, and  
if I rename the files to .txt extensions they have no problems. Does  
this mean that gzip doesn’t need to be disabled for IE6 any more? Or am  
I doing something wrong somewhere else in my configuration?

Here is a description of the behavior and a debug log.  
When trying to download the static .js file for my site, it takes 30  
seconds to complete in IE6, compared to almost instant in  
chrome/firefox. This 30 second duration depends on the keepalive\_timeout  
setting, which I have at 35. If I change that to 75, the download take  
70 seconds to complete. If I change it to 0, the download completes  
right away. This affects files with the .js extension, but other files  
don’t have this problem (.txt, .html). The debug log for 2 download  
attempts using IE6 (no service packs applied), first for the file with  
extension .txt and then for a file with extension .js:

> [@](#):
>
> 2011/01/20 09:53:38 [debug] 16254#0: epoll: fd:6 ev:0001 d:0A0B5438  
> 2011/01/20 09:53:38 [debug] 16254#0: accept on 0.0.0.0:8090, ready: 0  
> 2011/01/20 09:53:38 [debug] 16254#0: posix\_memalign: 0A08EE90:256 @16  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 accept: 192.168.2.15 fd:3  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 event timer add: 3:  
> 60000:2760922031  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 epoll add event: fd:3 op:1  
> ev:80000001  
> 2011/01/20 09:53:38 [debug] 16254#0: timer delta: 3875  
> 2011/01/20 09:53:38 [debug] 16254#0: posted events 00000000  
> 2011/01/20 09:53:38 [debug] 16254#0: worker cycle  
> 2011/01/20 09:53:38 [debug] 16254#0: epoll timer: 60000  
> 2011/01/20 09:53:38 [debug] 16254#0: epoll: fd:3 ev:0001 d:0A0B54F0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 malloc: 0A0AC3F8:656  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 malloc: 0A0AC690:1024  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 posix\_memalign: 0A090AD0:4096  
> @16  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http process request line  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 recv: fd:3 269 of 1024  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http request line: “GET  
> /jig-compiled.txt HTTP/1.1”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http uri: “/jig-compiled.txt”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http args: “”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http exten: “txt”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http process request header  
> line  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http header: “Accept:  
> image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, _/_”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http header: “Accept-Language:  
> en-us”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http header: “Accept-Encoding:  
> gzip, deflate”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http header: “User-Agent:  
> Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http header: “Host:  
> 192.168.2.17:8090”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http header: “Connection:  
> Keep-Alive”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http header done  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 event timer del: 3:  
> 2760922031  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 rewrite phase: 0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 test location: “/”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 test location: “e”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 using configuration “/”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http cl:-1 max:1048576  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 rewrite phase: 2  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 post rewrite phase: 3  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 generic phase: 4  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 generic phase: 5  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 access phase: 6  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 access phase: 7  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 post access phase: 8  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 try files phase: 9  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http script var:  
> “/jig-compiled.txt”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 try to use file:  
> “/jig-compiled.txt” “/home/dbro/public/jig-compiled.txt”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 try file uri:  
> “/jig-compiled.txt”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 content phase: 10  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 content phase: 11  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 content phase: 12  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 content phase: 13  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http filename:  
> “/home/dbro/public/jig-compiled.txt”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 add cleanup: 0A09105C  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http static fd: 4  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http set discard body  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 HTTP/1.1 200 OK  
> Server: nginx/0.8.54  
> Date: Thu, 20 Jan 2011 17:53:38 GMT  
> Content-Type: text/plain  
> Content-Length: 97978  
> Last-Modified: Thu, 20 Jan 2011 16:34:37 GMT  
> Connection: keep-alive  
> Accept-Ranges: bytes
> 
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 write new buf t:1 f:0  
> 0A09116C, pos 0A09116C, size: 219 file: 0, size: 0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter: l:0 f:0  
> s:219  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http output filter  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http copy filter:  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http postpone filter  
> “/jig-compiled.txt?” BFC5A2DC  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 write old buf t:1 f:0  
> 0A09116C, pos 0A09116C, size: 219 file: 0, size: 0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 write new buf t:0 f:1  
> 00000000, pos 00000000, size: 0 file: 0, size: 97978  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter: l:1 f:0  
> s:98197  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter limit 0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 tcp\_nopush  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 writev: 219  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 sendfile: @0 97978  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 sendfile: 15709, @0  
> 15709:97978  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter 0A091298  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http copy filter: -2  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http finalize request: -2,  
> “/jig-compiled.txt?” a:1, c:1  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 event timer add: 3:  
> 60000:2760922034  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 epoll add event: fd:3 op:3  
> ev:80000005  
> 2011/01/20 09:53:38 [debug] 16254#0: timer delta: 3  
> 2011/01/20 09:53:38 [debug] 16254#0: posted events 00000000  
> 2011/01/20 09:53:38 [debug] 16254#0: worker cycle  
> 2011/01/20 09:53:38 [debug] 16254#0: epoll timer: 60000  
> 2011/01/20 09:53:38 [debug] 16254#0: epoll: fd:3 ev:0004 d:0A0B54F0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http run request:  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http writer handler:  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http output filter  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http copy filter:  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http postpone filter  
> “/jig-compiled.txt?” 00000000  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 write old buf t:0 f:1  
> 00000000, pos 00000000, size: 0 file: 15709, size: 82269  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter: l:1 f:0  
> s:82269  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter limit 0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 sendfile: @15709 82269  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 sendfile: 26064, @15709  
> 26064:82269  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter 0A091298  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http copy filter: -2  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http writer output filter: -2,  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 event timer: 3, old:  
> 2760922034, new: 2760922035  
> 2011/01/20 09:53:38 [debug] 16254#0: timer delta: 1  
> 2011/01/20 09:53:38 [debug] 16254#0: posted events 00000000  
> 2011/01/20 09:53:38 [debug] 16254#0: worker cycle  
> 2011/01/20 09:53:38 [debug] 16254#0: epoll timer: 59999  
> 2011/01/20 09:53:38 [debug] 16254#0: epoll: fd:3 ev:0004 d:0A0B54F0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http run request:  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http writer handler:  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http output filter  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http copy filter:  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http postpone filter  
> “/jig-compiled.txt?” 00000000  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 write old buf t:0 f:1  
> 00000000, pos 00000000, size: 0 file: 41773, size: 56205  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter: l:1 f:0  
> s:56205  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter limit 0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 sendfile: @41773 56205  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 sendfile: 34752, @41773  
> 34752:56205  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter 0A091298  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http copy filter: -2  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http writer output filter: -2,  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 event timer: 3, old:  
> 2760922034, new: 2760922036  
> 2011/01/20 09:53:38 [debug] 16254#0: timer delta: 1  
> 2011/01/20 09:53:38 [debug] 16254#0: posted events 00000000  
> 2011/01/20 09:53:38 [debug] 16254#0: worker cycle  
> 2011/01/20 09:53:38 [debug] 16254#0: epoll timer: 59998  
> 2011/01/20 09:53:38 [debug] 16254#0: epoll: fd:3 ev:0004 d:0A0B54F0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http run request:  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http writer handler:  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http output filter  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http copy filter:  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http postpone filter  
> “/jig-compiled.txt?” 00000000  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 write old buf t:0 f:1  
> 00000000, pos 00000000, size: 0 file: 76525, size: 21453  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter: l:1 f:0  
> s:21453  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter limit 0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 sendfile: @76525 21453  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 sendfile: 21453, @76525  
> 21453:21453  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http write filter 00000000  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http copy filter: 0  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http writer output filter: 0,  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http writer done:  
> “/jig-compiled.txt?”  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http finalize request: 0,  
> “/jig-compiled.txt?” a:1, c:1  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 event timer del: 3:  
> 2760922034  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 set http keepalive handler  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http close request  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http log handler  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 run cleanup: 0A09105C  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 file cleanup: fd:4  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 free: 0A090AD0, unused: 1935  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 event timer add: 3:  
> 35000:2760897037  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 free: 0A0AC3F8  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 free: 0A0AC690  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 hc free: 00000000 0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 hc busy: 00000000 0  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 post event 0A097390  
> 2011/01/20 09:53:38 [debug] 16254#0: timer delta: 1  
> 2011/01/20 09:53:38 [debug] 16254#0: posted events 0A097390  
> 2011/01/20 09:53:38 [debug] 16254#0: posted event 0A097390  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 delete posted event 0A097390  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 http keepalive handler  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 malloc: 0A0AC3F8:1024  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 recv: fd:3 -1 of 1024  
> 2011/01/20 09:53:38 [debug] 16254#0: \*171 recv() not ready (11: Resource  
> temporarily unavailable)  
> 2011/01/20 09:53:38 [debug] 16254#0: posted event 00000000  
> 2011/01/20 09:53:38 [debug] 16254#0: worker cycle  
> 2011/01/20 09:53:38 [debug] 16254#0: epoll timer: 35000
> 
> [Now try to load the .js version of the file …]
> 
> 2011/01/20 09:54:06 [debug] 16254#0: epoll: fd:3 ev:0005 d:0A0B54F0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*171 http keepalive handler  
> 2011/01/20 09:54:06 [debug] 16254#0: \*171 recv: fd:3 0 of 1024  
> 2011/01/20 09:54:06 [info] 16254#0: \*171 client 192.168.2.15 closed  
> keepalive connection  
> 2011/01/20 09:54:06 [debug] 16254#0: \*171 close http connection: 3  
> 2011/01/20 09:54:06 [debug] 16254#0: \*171 event timer del: 3:  
> 2760897037  
> 2011/01/20 09:54:06 [debug] 16254#0: \*171 free: 0A0AC3F8  
> 2011/01/20 09:54:06 [debug] 16254#0: \*171 free: 00000000  
> 2011/01/20 09:54:06 [debug] 16254#0: \*171 free: 0A08EE90, unused: 56  
> 2011/01/20 09:54:06 [debug] 16254#0: timer delta: 27877  
> 2011/01/20 09:54:06 [debug] 16254#0: posted events 00000000  
> 2011/01/20 09:54:06 [debug] 16254#0: worker cycle  
> 2011/01/20 09:54:06 [debug] 16254#0: epoll timer: -1  
> 2011/01/20 09:54:06 [debug] 16254#0: epoll: fd:6 ev:0001 d:0A0B5438  
> 2011/01/20 09:54:06 [debug] 16254#0: accept on 0.0.0.0:8090, ready: 0  
> 2011/01/20 09:54:06 [debug] 16254#0: posix\_memalign: 0A08EE90:256 @16  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 accept: 192.168.2.15 fd:3  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 event timer add: 3:  
> 60000:2760949919  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 epoll add event: fd:3 op:1  
> ev:80000001  
> 2011/01/20 09:54:06 [debug] 16254#0: timer delta: 5  
> 2011/01/20 09:54:06 [debug] 16254#0: posted events 00000000  
> 2011/01/20 09:54:06 [debug] 16254#0: worker cycle  
> 2011/01/20 09:54:06 [debug] 16254#0: epoll timer: 60000  
> 2011/01/20 09:54:06 [debug] 16254#0: epoll: fd:3 ev:0001 d:0A0B54F1  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 malloc: 0A0AC3F8:656  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 malloc: 0A0AC690:1024  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 posix\_memalign: 0A090AD0:4096  
> @16  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http process request line  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 recv: fd:3 268 of 1024  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http request line: “GET  
> /jig-compiled.js HTTP/1.1”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http uri: “/jig-compiled.js”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http args: “”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http exten: “js”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http process request header  
> line  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http header: “Accept:  
> image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, _/_”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http header: “Accept-Language:  
> en-us”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http header: “Accept-Encoding:  
> gzip, deflate”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http header: “User-Agent:  
> Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http header: “Host:  
> 192.168.2.17:8090”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http header: “Connection:  
> Keep-Alive”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http header done  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 event timer del: 3:  
> 2760949919  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 rewrite phase: 0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 test location: “/”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 test location: “e”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 using configuration “/”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http cl:-1 max:1048576  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 rewrite phase: 2  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 post rewrite phase: 3  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 generic phase: 4  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 generic phase: 5  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 access phase: 6  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 access phase: 7  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 post access phase: 8  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 try files phase: 9  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http script var:  
> “/jig-compiled.js”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 try to use file:  
> “/jig-compiled.js” “/home/dbro/public/jig-compiled.js”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 try file uri:  
> “/jig-compiled.js”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 content phase: 10  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 content phase: 11  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 content phase: 12  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 content phase: 13  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http filename:  
> “/home/dbro/public/jig-compiled.js”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 add cleanup: 0A09105C  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http static fd: 4  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http set discard body  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 HTTP/1.1 200 OK  
> Server: nginx/0.8.54  
> Date: Thu, 20 Jan 2011 17:54:06 GMT  
> Content-Type: application/x-javascript  
> Content-Length: 97978  
> Last-Modified: Wed, 19 Jan 2011 05:15:55 GMT  
> Connection: keep-alive  
> Accept-Ranges: bytes
> 
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 write new buf t:1 f:0  
> 0A091178, pos 0A091178, size: 233 file: 0, size: 0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter: l:0 f:0  
> s:233  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http output filter  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http copy filter:  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http postpone filter  
> “/jig-compiled.js?” BFC5A2DC  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 write old buf t:1 f:0  
> 0A091178, pos 0A091178, size: 233 file: 0, size: 0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 write new buf t:0 f:1  
> 00000000, pos 00000000, size: 0 file: 0, size: 97978  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter: l:1 f:0  
> s:98211  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter limit 0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 tcp\_nopush  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 writev: 233  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 sendfile: @0 97978  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 sendfile: 15695, @0  
> 15695:97978  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter 0A0912B0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http copy filter: -2  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http finalize request: -2,  
> “/jig-compiled.js?” a:1, c:1  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 event timer add: 3:  
> 60000:2760949922  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 epoll add event: fd:3 op:3  
> ev:80000005  
> 2011/01/20 09:54:06 [debug] 16254#0: timer delta: 3  
> 2011/01/20 09:54:06 [debug] 16254#0: posted events 00000000  
> 2011/01/20 09:54:06 [debug] 16254#0: worker cycle  
> 2011/01/20 09:54:06 [debug] 16254#0: epoll timer: 60000  
> 2011/01/20 09:54:06 [debug] 16254#0: epoll: fd:3 ev:0004 d:0A0B54F1  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http run request:  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http writer handler:  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http output filter  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http copy filter:  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http postpone filter  
> “/jig-compiled.js?” 00000000  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 write old buf t:0 f:1  
> 00000000, pos 00000000, size: 0 file: 15695, size: 82283  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter: l:1 f:0  
> s:82283  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter limit 0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 sendfile: @15695 82283  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 sendfile: 26064, @15695  
> 26064:82283  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter 0A0912B0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http copy filter: -2  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http writer output filter: -2,  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 event timer: 3, old:  
> 2760949922, new: 2760949923  
> 2011/01/20 09:54:06 [debug] 16254#0: timer delta: 1  
> 2011/01/20 09:54:06 [debug] 16254#0: posted events 00000000  
> 2011/01/20 09:54:06 [debug] 16254#0: worker cycle  
> 2011/01/20 09:54:06 [debug] 16254#0: epoll timer: 59999  
> 2011/01/20 09:54:06 [debug] 16254#0: epoll: fd:3 ev:0004 d:0A0B54F1  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http run request:  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http writer handler:  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http output filter  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http copy filter:  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http postpone filter  
> “/jig-compiled.js?” 00000000  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 write old buf t:0 f:1  
> 00000000, pos 00000000, size: 0 file: 41759, size: 56219  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter: l:1 f:0  
> s:56219  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter limit 0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 sendfile: @41759 56219  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 sendfile: 36200, @41759  
> 36200:56219  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter 0A0912B0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http copy filter: -2  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http writer output filter: -2,  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 event timer: 3, old:  
> 2760949922, new: 2760949924  
> 2011/01/20 09:54:06 [debug] 16254#0: timer delta: 1  
> 2011/01/20 09:54:06 [debug] 16254#0: posted events 00000000  
> 2011/01/20 09:54:06 [debug] 16254#0: worker cycle  
> 2011/01/20 09:54:06 [debug] 16254#0: epoll timer: 59998  
> 2011/01/20 09:54:06 [debug] 16254#0: epoll: fd:3 ev:0004 d:0A0B54F1  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http run request:  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http writer handler:  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http output filter  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http copy filter:  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http postpone filter  
> “/jig-compiled.js?” 00000000  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 write old buf t:0 f:1  
> 00000000, pos 00000000, size: 0 file: 77959, size: 20019  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter: l:1 f:0  
> s:20019  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter limit 0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 sendfile: @77959 20019  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 sendfile: 20019, @77959  
> 20019:20019  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http write filter 00000000  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http copy filter: 0  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http writer output filter: 0,  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http writer done:  
> “/jig-compiled.js?”  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http finalize request: 0,  
> “/jig-compiled.js?” a:1, c:1  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 event timer del: 3:  
> 2760949922  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 set http keepalive handler  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http close request  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http log handler  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 run cleanup: 0A09105C  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 file cleanup: fd:4  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 free: 0A090AD0, unused: 1912  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 event timer add: 3:  
> 35000:2760924926  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 free: 0A0AC3F8  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 free: 0A0AC690  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 hc free: 00000000 0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 hc busy: 00000000 0  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 post event 0A097390  
> 2011/01/20 09:54:06 [debug] 16254#0: timer delta: 2  
> 2011/01/20 09:54:06 [debug] 16254#0: posted events 0A097390  
> 2011/01/20 09:54:06 [debug] 16254#0: posted event 0A097390  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 delete posted event 0A097390  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 http keepalive handler  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 malloc: 0A0AC3F8:1024  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 recv: fd:3 -1 of 1024  
> 2011/01/20 09:54:06 [debug] 16254#0: \*172 recv() not ready (11: Resource  
> temporarily unavailable)  
> 2011/01/20 09:54:06 [debug] 16254#0: posted event 00000000  
> 2011/01/20 09:54:06 [debug] 16254#0: worker cycle  
> 2011/01/20 09:54:06 [debug] 16254#0: epoll timer: 35000  
> 2011/01/20 09:54:41 [debug] 16254#0: timer delta: 34998  
> 2011/01/20 09:54:41 [debug] 16254#0: posted events 00000000  
> 2011/01/20 09:54:41 [debug] 16254#0: worker cycle  
> 2011/01/20 09:54:41 [debug] 16254#0: epoll timer: 2  
> 2011/01/20 09:54:41 [debug] 16254#0: timer delta: 3  
> 2011/01/20 09:54:41 [debug] 16254#0: \*172 event timer del: 3:  
> 2760924926  
> 2011/01/20 09:54:41 [debug] 16254#0: \*172 http keepalive handler  
> 2011/01/20 09:54:41 [debug] 16254#0: \*172 close http connection: 3  
> 2011/01/20 09:54:41 [debug] 16254#0: \*172 free: 0A0AC3F8  
> 2011/01/20 09:54:41 [debug] 16254#0: \*172 free: 00000000  
> 2011/01/20 09:54:41 [debug] 16254#0: \*172 free: 0A08EE90, unused: 56  
> 2011/01/20 09:54:41 [debug] 16254#0: posted events 00000000  
> 2011/01/20 09:54:41 [debug] 16254#0: worker cycle  
> 2011/01/20 09:54:41 [debug] 16254#0: epoll timer: -1

here is my nginx.conf with some comments inline:

```auto
# disable user and pid here. using runit's chpst command instead
#user nginx;
#pid /var/run/nginx.pid;
daemon off;

worker_processes 1;
events {
    worker_connections 1024;
}

error_log /var/log/nginx/debug.log debug;

http {
    include /opt/nginx/conf/mime.types;
    default_type application/octet-stream;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay off;

    keepalive_timeout 35;

    gzip on; # if on, IE6 can't download the js file
    gzip_disable "MSIE [1-6]\.";
    #gzip_disable "MSIE [1-6].(?!.*SV1)"; # same problem with
this version
    #gzip_vary on; # this causes IE to fail entirely (not a
delay)
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_buffers 16 8k; # necessary to work with gzip files
larger than 32k
    #gzip_static on; # requires ./configure ...
--with-http_gzip_static_module
                            # and timestamps of .gz files should match
uncompressed
    # automatically includes type text/html
    gzip_types text/plain text/css
                        application/x-javascript text/xml
                        application/xml application/xml+rss
                        text/javascript;

    include /etc/nginx/sites-available/*;

}
```

In the sites-available directory, this is the only file:

```auto
# Configuration file for nginx web server

#gzip_min_length 500;
#gzip_proxied any; # compress info from nodejs server

upstream nodejs_server {
  server 127.0.0.1:8124;
}

server {
    listen 8090; # for testing. can disable this line to listen on 80
    server_name localhost; # for testing, we use the IP address
    access_log /var/log/nginx/access.log;

    root /home/dbro/public;
    index index.html;
    #error_page 404 /404.html;
    # redirect server error pages to the static page /50x.html
    error_page 500 502 503 504 /50x.html;

    # serve static files, and fallback to index.html
    location / {
      try_files $uri $uri/ index.html;
      #expires 1d; # TODO: increase this cache timeout
    }

    # requests handled by node.js
    location = /a {
      proxy_pass http://nodejs_server;
    }
    location = /e {
      proxy_pass http://nodejs_server;
    }

}
```

Thanks very much for help.  
Dan

Posted at Nginx Forum:

> **[IE6 problems when using gzip\_disable](https://forum.nginx.org/read.php?2,167982,167982#msg-167982)**
>
> Hello- I am new to nginx, so this may be a silly question. I set up gzip with the recommended 'gzip\_disable "MSIE \[1-6\]\\."' parameter. But this results in long delays and/or "IE cannot download" errors when used with keepalive and...

---

<div class="post-metadata">

**Author:** ![dbro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/db5fbb/32.png) [@dbro](https://www.ruby-forum.com/u/dbro)\
**Post date:** [January 20, 2011, 7:31pm UTC](https://www.ruby-forum.com/t/ie6-problems-when-using-gzip-disable/202059/2 "2011-01-20T19:31:10Z")

</div>

On 20 Jan 2011 18h13 WET, [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hello- I am new to nginx, so this may be a silly question. I set up  
> gzip with the recommended ‘gzip\_disable “MSIE [1-6].”’

As you can read in

> **[GitHub - nginxinc/nginx-wiki: ARCHIVED -- Source for the now archived NGINX Wiki...](https://github.com/nginxinc/nginx-wiki)**
>
> ARCHIVED -- Source for the now archived NGINX Wiki section of https://www.nginx.com

since Nginx version \>= 0.7.63 the preferred form of the directive is:

gzip\_disable “msie6”;

— appa

---

<div class="post-metadata">

**Author:** ![dbro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/db5fbb/32.png) [@dbro](https://www.ruby-forum.com/u/dbro)\
**Post date:** [January 20, 2011, 7:46pm UTC](https://www.ruby-forum.com/t/ie6-problems-when-using-gzip-disable/202059/3 "2011-01-20T19:46:15Z")

</div>

Thanks Antonio. After making that change, I see the same problem  
behavior.  
Dan

Posted at Nginx Forum:

> **[Re: IE6 problems when using gzip\_disable](https://forum.nginx.org/read.php?2,167982,167993#msg-167993)**
>
> Hello- I am new to nginx, so this may be a silly question. I set up gzip with the recommended 'gzip\_disable "MSIE \[1-6\]\\."' parameter. But this results in long delays and/or "IE cannot download" errors when used with keepalive and...

---

<div class="post-metadata">

**Author:** ![dbro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/db5fbb/32.png) [@dbro](https://www.ruby-forum.com/u/dbro)\
**Post date:** [January 20, 2011, 8:12pm UTC](https://www.ruby-forum.com/t/ie6-problems-when-using-gzip-disable/202059/4 "2011-01-20T20:12:06Z")

</div>

Hello!

On Thu, Jan 20, 2011 at 01:13:47PM -0500, dbro wrote:

> Hello-  
> I am new to nginx, so this may be a silly question. I set up gzip with  
> the recommended ‘gzip\_disable “MSIE [1-6].”’ parameter. But this

Just a side note: use “msie6” special mask instead.

> setting, which I have at 35. If I change that to 75, the download take  
> 70 seconds to complete. If I change it to 0, the download completes  
> right away. This affects files with the .js extension, but other files  
> don’t have this problem (.txt, .html). The debug log for 2 download  
> attempts using IE6 (no service packs applied), first for the file with  
> extension .txt and then for a file with extension .js:

Looking though logs suggests that there is nothing wrong at nginx  
side: it sent the whole file.

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.

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).

2. If removing gzip completely makes any difference.

3. If using another web server with keepalive support makes any  
difference.

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:

> **[Internet Explorer help | Microsoft Learn](https://support.microsoft.com/en-us/internet-explorer/internet-explorer-help)**
>
> Support for Internet Explorer 11 has ended on June 15, 2022. Make the switch to Microsoft Edge to experience the web in a whole new way.

Maxim D.

---

<div class="post-metadata">

**Author:** ![dbro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/db5fbb/32.png) [@dbro](https://www.ruby-forum.com/u/dbro)\
**Post date:** [January 20, 2011, 11:42pm UTC](https://www.ruby-forum.com/t/ie6-problems-when-using-gzip-disable/202059/5 "2011-01-20T23:42:51Z")

</div>

Thanks for the suggestions Maxim. I think there is some progress  
described below:

## Maxim D. Wrote:

> 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.

> 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?

> 1. If removing gzip completely makes any  
> difference.  
> See above. the problem exists when nginx’s conf file has “gzip off;”  
> too.

> 1. If using another web server with keepalive  
> support makes any  
> difference.  
> I havent tried this

> 1. 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:
> 
> [Internet Explorer help | Microsoft Learn](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.

Posted at Nginx Forum:  
[http://forum.nginx.org/read.php?2,167982,168084#msg-168084](http://forum.nginx.org/read.php?2,167982,168084#msg-168084)

---

<div class="post-metadata">

**Author:** ![dbro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/db5fbb/32.png) [@dbro](https://www.ruby-forum.com/u/dbro)\
**Post date:** [January 21, 2011, 5:55pm UTC](https://www.ruby-forum.com/t/ie6-problems-when-using-gzip-disable/202059/6 "2011-01-21T17:55:01Z")

</div>

Hello!

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

> > as expected, 2)  
> > 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)?

> > 1. If removing gzip completely makes any  
> > difference.  
> > See above. the problem exists when nginx’s conf file has “gzip off;”  
> > too.
> 
> > 1. 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.

> 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 D.
