I took the liberty of logging the http headers with FF and IE:
FF:No. Time Source Destination Protocol Info
1 0.000000 192.168.1.62 67.15.84.17 HTTP GET /forums/index.php?act=Attach&type=post&id=1831 HTTP/1.1
Frame 1 (1492 bytes on wire, 1492 bytes captured)
Ethernet II, Src: 00:30:f1:e4:f7:31, Dst: 00:0e:50:6c:14:28
Internet Protocol, Src Addr: 192.168.1.62 (192.168.1.62), Dst Addr: 67.15.84.17 (67.15.84.17)
Transmission Control Protocol, Src Port: 3793 (3793), Dst Port: http (80), Seq: 0, Ack: 0, Len: 1438
Hypertext Transfer Protocol
GET /forums/index.php?act=Attach&type=post&id=1831 HTTP/1.1\r\n
Request Method: GET
Request URI: /forums/index.php?act=Attach&type=post&id=1831
Request Version: HTTP/1.1
Host: www.hydrogenaudio.org\r\n
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8) Gecko/20051111 Firefox/1.5\r\n
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n
Accept-Language: en-gb,en-us;q=0.7,en;q=0.3\r\n
Accept-Encoding: gzip,deflate\r\n
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n
Keep-Alive: 300\r\n
Connection: keep-alive\r\n
Referer: [url=http://www.hydrogenaudio.org/forums/index.php?showtopic=35270\r\n]http://www.hydrogenaudio.org/forums/index....0\r\n[/url]
Cookie: __utma=235541400.3620854604.1067292068.1086006136.1086091767.2018; forum_read=a%3A33%3A%7Bi%3A28%3Bi%3A1068844550%3Bi%3A27%3Bi%3A1114969309%3Bi%3A33%3Bi%3A1114806970%3Bi%3A40%3Bi%3A1114987433%3Bi%3A35%3Bi%3A1128103434%3Bi%3A22%3Bi%
No. Time Source Destination Protocol Info
2 0.000070 192.168.1.62 67.15.84.17 HTTP Continuation or non-HTTP traffic
Frame 2 (239 bytes on wire, 239 bytes captured)
Ethernet II, Src: 00:30:f1:e4:f7:31, Dst: 00:0e:50:6c:14:28
Internet Protocol, Src Addr: 192.168.1.62 (192.168.1.62), Dst Addr: 67.15.84.17 (67.15.84.17)
Transmission Control Protocol, Src Port: 3793 (3793), Dst Port: http (80), Seq: 1438, Ack: 0, Len: 185
Hypertext Transfer Protocol
Data (185 bytes)
0000 33 42 69 25 33 41 31 30 39 39 32 34 39 35 31 34 3Bi%3A1099249514
0010 25 33 42 69 25 33 41 31 39 25 33 42 69 25 33 41 %3Bi%3A19%3Bi%3A
0020 31 31 30 32 38 30 30 33 30 32 25 33 42 25 37 44 1102800302%3B%7D
0030 3b 20 61 6e 6f 6e 6c 6f 67 69 6e 3d 2d 31 3b 20 ; anonlogin=-1;
0040 74 6f 70 69 63 6d 6f 64 65 3d 6c 69 6e 65 61 72 topicmode=linear
0050 3b 20 73 65 73 73 69 6f 6e 5f 69 64 3d 30 62 39 ; session_id=0b9
0060 34 33 31 39 38 63 64 66 62 39 33 66 63 65 30 63 43198cdfb93fce0c
0070 32 30 62 34 37 63 63 65 66 36 63 33 38 3b 20 6d 20b47ccef6c38; m
0080 6f 64 74 69 64 73 3d 25 32 43 0d 0a 50 72 61 67 odtids=%2C..Prag
0090 6d 61 3a 20 6e 6f 2d 63 61 63 68 65 0d 0a 43 61 ma: no-cache..Ca
00a0 63 68 65 2d 43 6f 6e 74 72 6f 6c 3a 20 6e 6f 2d che-Control: no-
00b0 63 61 63 68 65 0d 0a 0d 0a cache....
No. Time Source Destination Protocol Info
3 0.232224 67.15.84.17 192.168.1.62 HTTP HTTP/1.1 200 OK (image/png)
Frame 3 (1076 bytes on wire, 1076 bytes captured)
Ethernet II, Src: 00:0e:50:6c:14:28, Dst: 00:30:f1:e4:f7:31
Internet Protocol, Src Addr: 67.15.84.17 (67.15.84.17), Dst Addr: 192.168.1.62 (192.168.1.62)
Transmission Control Protocol, Src Port: http (80), Dst Port: 3793 (3793), Seq: 0, Ack: 1623, Len: 1022
Hypertext Transfer Protocol
HTTP/1.1 200 OK\r\n
Request Version: HTTP/1.1
Response Code: 200
Date: Thu, 26 Jan 2006 21:37:14 GMT\r\n
Server: Apache\r\n
Accept-Ranges: bytes\r\n
Vary: Accept-Encoding\r\n
Content-Encoding: gzip\r\n
Content-Length: 709\r\n
Keep-Alive: timeout=5, max=100\r\n
Connection: Keep-Alive\r\n
Content-Type: image/png\n
Content-Disposition: inline; filename="c10k8.png"\n
Content-Length: 686\r\n
\r\n
Content-encoded entity body (gzip)
Media Type: image/png (671 bytes)
Hypertext Transfer Protocol
Data (23 bytes)
0000 18 db 4c 00 00 00 00 49 45 4e 44 ae 42 60 82 07 ..L....IEND.B`..
0010 ae a4 d8 ae 02 00 00 .......
IE:No. Time Source Destination Protocol Info
1 0.000000 192.168.1.62 67.15.84.17 HTTP GET /forums/index.php?act=Attach&type=post&id=1831 HTTP/1.1
Frame 1 (483 bytes on wire, 483 bytes captured)
Ethernet II, Src: 00:30:f1:e4:f7:31, Dst: 00:0e:50:6c:14:28
Internet Protocol, Src Addr: 192.168.1.62 (192.168.1.62), Dst Addr: 67.15.84.17 (67.15.84.17)
Transmission Control Protocol, Src Port: 3796 (3796), Dst Port: http (80), Seq: 0, Ack: 0, Len: 429
Hypertext Transfer Protocol
GET /forums/index.php?act=Attach&type=post&id=1831 HTTP/1.1\r\n
Request Method: GET
Request URI: /forums/index.php?act=Attach&type=post&id=1831
Request Version: HTTP/1.1
Accept: */*\r\n
Accept-Encoding: gzip, deflate\r\n
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727)\r\n
Host: www.hydrogenaudio.org\r\n
Connection: Keep-Alive\r\n
Cookie: session_id=f426f903452f9b857461b07349a9b393; __utma=235541400.3950756277.1062535181.1069421208.1079819938.10\r\n
\r\n
No. Time Source Destination Protocol Info
2 0.195817 67.15.84.17 192.168.1.62 HTTP HTTP/1.1 200 OK (image/png)
Frame 2 (1076 bytes on wire, 1076 bytes captured)
Ethernet II, Src: 00:0e:50:6c:14:28, Dst: 00:30:f1:e4:f7:31
Internet Protocol, Src Addr: 67.15.84.17 (67.15.84.17), Dst Addr: 192.168.1.62 (192.168.1.62)
Transmission Control Protocol, Src Port: http (80), Dst Port: 3796 (3796), Seq: 0, Ack: 429, Len: 1022
Hypertext Transfer Protocol
HTTP/1.1 200 OK\r\n
Request Version: HTTP/1.1
Response Code: 200
Date: Thu, 26 Jan 2006 21:43:06 GMT\r\n
Server: Apache\r\n
Accept-Ranges: bytes\r\n
Vary: Accept-Encoding\r\n
Content-Encoding: gzip\r\n
Content-Length: 709\r\n
Keep-Alive: timeout=5, max=100\r\n
Connection: Keep-Alive\r\n
Content-Type: image/png\n
Content-Disposition: inline; filename="c10k8.png"\n
Content-Length: 686\r\n
\r\n
Content-encoded entity body (gzip)
Media Type: image/png (671 bytes)
Hypertext Transfer Protocol
Data (23 bytes)
0000 18 db 4c 00 00 00 00 49 45 4e 44 ae 42 60 82 07 ..L....IEND.B`..
0010 ae a4 d8 ae 02 00 00 .......
I don't see any significant difference in the received headers, and I noted there are two Content-Length fields (with values 709 and 686), I'm not too sure what the significance of that is. I guess the browsers are interpreting something differently; Ethereal also interpreted the image as 671 bytes. So no idea where the problem lies. But I would still guess the truncated file is coming from only decoding 686 bytes of the gzip stream.