Closed Bug 662740 Opened 13 years ago Closed 8 years ago

Does not fail over to IPv4 address if IPv6 fails with 'host unreachable'

Categories

(Core :: Networking: HTTP, defect)

x86
macOS
defect
Not set
major

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: wiml, Unassigned)

References

(Blocks 1 open bug, )

Details

User-Agent:       Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Build Identifier: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1

If the machine has an (unscoped) IPv6 address but cannot reach the rest of the world via IPv6, then sites which have both IPv6 and IPv4 addresses are inaccessible to Firefox. The browser will attempt to load for a few seconds and then silently fail (no error message is displayed; the location bar goes blank and the previously-displayed page, if any, is not changed).



Reproducible: Always

Steps to Reproduce:
1. Configure your machine to have a valid IPv6 address but bogus router, or filter IPv6 at the router, or anything that will prevent IPv6 packets from reaching their destination.

2. Attempt to load a webpage from a site that has both v6 and v4 addresses. (Today, this includes www.google.com, but today is World IPv6 Day)

3. Observe

Actual Results:  
Page fails to load. No error is displayed.

Expected Results:  
When the connection fails, I expect the browser to try to other known IP addresses for that hostname (regardless of address family), as is usual practice.

Even if it doesn't, I expect Firefox to display some sort of error message when it fails to make a connection.


This happens in FF 3.x as well, although I do not have a user-agent string handy. I am running MacOS X 10.6.7 on an Intel machine.

If the machine has no valid IPv6 address at all, FF will not try to make an IPv6 connection and everything behaves as it should. If the machine has a working IPv6 route, then FF will happily use it and everything behaves as it should.

Here's an attempt to telnet while the machine is misconfigured:

$ telnet -6 www.google.com
Trying 2001:4860:b006::93...
telnet: connect to address 2001:4860:b006::93: Host is down
telnet: Unable to connect to remote host

('Host is down' is presumably EHOSTDOWN)

Here's what netstat looks like while FF is attempting to connect:

Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp6       0      0  2001:470:b:4ca:1.59279 2001:4860:b006::.80    SYN_SENT

This bug sounds very similar to bug 376226, but the consensus in that bug seems to be that that bug is DNS-related, and it doesn't seem like this bug is.

Bug 86917 seems like it involves related functionality. Bug 108108 and bug 199333 also seem to be in this general neighborhood.
Component: Networking → Networking: HTTP
QA Contact: networking → networking.http
Bug 621558 might be the real fix I suppose.
Depends on: 621558
Blocks: IPv6
I have been hit by this a lot recently. It's really annoying and really seems to be Mozilla Firefox and IPv6 on Mac.

Version     10.0.2
User Agent  Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0.2) Gecko/20100101 Firefox/10.0.2

System Version:	Mac OS X 10.6.8 (10K549)
  Kernel Version:	Darwin 10.8.0

The DNS is working fine. Local IPv6 is functional and generally OK for some sites. 

Mozilla hangs when connecting to IPv6 and does NOT fall back to IPv4, even though both IPv6 AND IPv4 are available and reachable. Typing in IPv6 and IPv4 literals in the address bar confirms that this is a Mozilla issue, and not a resolution or Happy Eyeballs issue or connectivity.

So URL's http://[2a01:3f0:0:31::14]/ & http://[2a01:3f0:1:2::30]/ hang indefinitely (spinning color wheel) whereas http://192.36.165.30/ http://194.146.105.14/ and http://77.72.230.30/ produce immediate responses.

What's strange is that these IPv6 servers are up and reachable and running real fast (tested via telnet to port 80 from the same client).

What other debug can I get you? Wireshark?


Debug info on reachability:


my-iMac:~ my$ nslookup  -type=a  tools.ietf.org
Server:		10.0.1.1
Address:	10.0.1.1#53

Non-authoritative answer:
Name:	tools.ietf.org
Address: 77.72.230.30
Name:	tools.ietf.org
Address: 192.36.165.30
Name:	tools.ietf.org
Address: 194.146.105.14

my-iMac:~ my$ nslookup  -type=aaaa  tools.ietf.org
Server:		10.0.1.1
Address:	10.0.1.1#53

Non-authoritative answer:
tools.ietf.org	has AAAA address 2a01:3f0:1:2::30
tools.ietf.org	has AAAA address 2a01:3f0:0:31::14

Authoritative answers can be found from:

my-iMac:~ my$ ping6 2a01:3f0:1:2::30
PING6(56=40+8+8 bytes) 2001:470:d38c:2::4 --> 2a01:3f0:1:2::30
16 bytes from 2a01:3f0:1:2::30, icmp_seq=0 hlim=57 time=43.143 ms
16 bytes from 2a01:3f0:1:2::30, icmp_seq=1 hlim=57 time=43.392 ms
16 bytes from 2a01:3f0:1:2::30, icmp_seq=2 hlim=57 time=42.996 ms
16 bytes from 2a01:3f0:1:2::30, icmp_seq=3 hlim=57 time=45.163 ms
^C
--- 2a01:3f0:1:2::30 ping6 statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 42.996/43.674/45.163/0.872 ms

my-iMac:~ my$ ping6 2a01:3f0:0:31::14
PING6(56=40+8+8 bytes) 2001:470:d38c:2::4 --> 2a01:3f0:0:31::14
16 bytes from 2a01:3f0:0:31::14, icmp_seq=0 hlim=57 time=80.037 ms
16 bytes from 2a01:3f0:0:31::14, icmp_seq=1 hlim=57 time=43.302 ms
16 bytes from 2a01:3f0:0:31::14, icmp_seq=2 hlim=57 time=43.157 ms
16 bytes from 2a01:3f0:0:31::14, icmp_seq=3 hlim=57 time=42.718 ms
^C
--- 2a01:3f0:0:31::14 ping6 statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 42.718/52.303/80.037/16.013 ms

my-iMac:~ my$ ping 77.72.230.30
PING 77.72.230.30 (77.72.230.30): 56 data bytes
64 bytes from 77.72.230.30: icmp_seq=0 ttl=53 time=47.393 ms
64 bytes from 77.72.230.30: icmp_seq=1 ttl=53 time=50.437 ms
64 bytes from 77.72.230.30: icmp_seq=2 ttl=53 time=47.050 ms
64 bytes from 77.72.230.30: icmp_seq=3 ttl=53 time=46.999 ms
^C
--- 77.72.230.30 ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 46.999/47.970/50.437/1.433 ms
my-iMac:~ my$ ping 192.36.165.30
PING 192.36.165.30 (192.36.165.30): 56 data bytes
64 bytes from 192.36.165.30: icmp_seq=0 ttl=48 time=51.844 ms
64 bytes from 192.36.165.30: icmp_seq=1 ttl=48 time=47.848 ms
64 bytes from 192.36.165.30: icmp_seq=2 ttl=48 time=47.531 ms
64 bytes from 192.36.165.30: icmp_seq=3 ttl=48 time=47.759 ms
^C
--- 192.36.165.30 ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 47.531/48.746/51.844/1.793 ms
my-iMac:~ my$ 
my-iMac:~ my$ 
my-iMac:~ my$ ping 194.146.105.14
PING 194.146.105.14 (194.146.105.14): 56 data bytes
64 bytes from 194.146.105.14: icmp_seq=0 ttl=53 time=132.482 ms
64 bytes from 194.146.105.14: icmp_seq=1 ttl=53 time=160.971 ms
64 bytes from 194.146.105.14: icmp_seq=2 ttl=53 time=381.527 ms
^C
--- 194.146.105.14 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 132.482/224.993/381.527/111.295 ms
my-iMac:~ my$ 


telnet 2a01:3f0:0:31::14 80
Trying 2a01:3f0:0:31::14...
Connected to merlot.tools.ietf.org.
Escape character is '^]'.
hello
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache/2.2.21 (Debian) Server at tools.ietf.org Port 80</address>
</body></html>
Connection closed by foreign host.

telnet 2a01:3f0:1:2::30 80
Trying 2a01:3f0:1:2::30...
Connected to grenache.tools.ietf.org.
Escape character is '^]'.
hello
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache/2.2.21 (Debian) Server at tools.ietf.org Port 80</address>
</body></html>
Connection closed by foreign host.
Hmmm. Just noticed that when you try the same literal URL http://[2a01:3f0:0:31::14]/ in Safari it works first time. And then when you go back to Firefox it also works first time.

Now http://[2a01:3f0:1:2::30]/ still hangs in Firefox.

try again: http://[2a01:3f0:1:2::30]/ still hangs in Firefox.
try again: http://[2a01:3f0:1:2::30]/ still hangs in Firefox.

http://[2a01:3f0:1:2::30]/ works first time in Safari.

http://[2a01:3f0:1:2::30]/ now works in Firefox.

Something very odd going on in the lower layers of the stack.
I now have wireshark packet captures.

Haven't managed yet to "sanitise them" for public consumption as other traffic was going on on the network.

But it looks like Firefox is stalling the first time after successfully negotiating the TCP session and sending the HTTP GET request. But this is GET request never ACKed from the server eitehr at HTTP or even TCP level.

Safari then works fine.

Firefox then works fine.

So I guess I'll concentrate on trying to spot the difference between a Firefox first session and and a Safari session to see what is happening in detail. Maybe they're doing something different at the TCP layer or OS layer that's triggering a firewall somewhere to block firefox traffic.
OK The difference (where it goes wrong) is immediately after the first GET. The two browsers accept different transfer coding (Firefox asks for DNT). This somehow seems to be interacting with devices on the path to result in the TCP stream being blocked for Firefox, but not for Safari (perhaps due to the presence of fragmentation headers in the Firefox stream). Anyway this is almost certainly a trigger rather than a root cause. Even if the TCP stream is failing half way through a HTTP transfer due to firewall filtering or PMTUD problems (RFC4821), Firefox should probably be failing the TCP session with "timeout no response" and retrying using IPv4 IMHO.

In any case the relevant option in the GET is:

Safari
Hypertext Transfer Protocol
    GET / HTTP/1.1\r\n
        [Expert Info (Chat/Sequence): GET / HTTP/1.1\r\n]
            [Message: GET / HTTP/1.1\r\n]
            [Severity level: Chat]
            [Group: Sequence]
        Request Method: GET
        Request URI: /
        Request Version: HTTP/1.1
    Host: [2a01:3f0:0:31::14]\r\n
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.54.16 (KHTML, like Gecko) Version/5.1.4 Safari/534.54.16\r\n
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
    Accept-Language: en-gb\r\n
    Accept-Encoding: gzip, deflate\r\n
    Connection: keep-alive\r\n
    \r\n


Firefox
Hypertext Transfer Protocol
    GET / HTTP/1.1\r\n
        [Expert Info (Chat/Sequence): GET / HTTP/1.1\r\n]
            [Message: GET / HTTP/1.1\r\n]
            [Severity level: Chat]
            [Group: Sequence]
        Request Method: GET
        Request URI: /
        Request Version: HTTP/1.1
    Host: [2a01:3f0:0:31::14]\r\n
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0.2) Gecko/20100101 Firefox/10.0.2\r\n
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
    Accept-Language: en-gb,en-us;q=0.8,en;q=0.5,nl;q=0.3\r\n
    Accept-Encoding: gzip, deflate\r\n
    DNT: 1\r\n
    Connection: keep-alive\r\n
    \r\n


Safari first packet coding of the HTTP stream (after the ACK of the GET):

Frame 6: 1450 bytes on wire (11600 bits), 1450 bytes captured (11600 bits)
    Arrival Time: Mar 22, 2012 12:32:34.955260000 CET
    Epoch Time: 1332415954.955260000 seconds
    [Time delta from previous captured frame: 0.813684000 seconds]
    [Time delta from previous displayed frame: 0.813684000 seconds]
    [Time since reference or first frame: 0.916177000 seconds]
    Frame Number: 6
    Frame Length: 1450 bytes (11600 bits)
    Capture Length: 1450 bytes (11600 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ipv6:tcp:http]
    [Coloring Rule Name: HTTP]
    [Coloring Rule String: http || tcp.port == 80]
Ethernet II, Src: Apple_c6:91:59 (00:1f:f3:c6:91:59), Dst: Apple_fa:01:88 (00:22:41:fa:01:88)
    Destination: Apple_fa:01:88 (00:22:41:fa:01:88)
        Address: Apple_fa:01:88 (00:22:41:fa:01:88)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Source: Apple_c6:91:59 (00:1f:f3:c6:91:59)
        Address: Apple_c6:91:59 (00:1f:f3:c6:91:59)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Type: IPv6 (0x86dd)
Internet Protocol Version 6, Src: 2a01:3f0:0:31::14 (2a01:3f0:0:31::14), Dst: 2001:470:d38c:2::4 (2001:470:d38c:2::4)
    0110 .... = Version: 6
        [0110 .... = This field makes the filter "ip.version == 6" possible: 6]
    .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
        .... 0000 00.. .... .... .... .... .... = Differentiated Services Field: Default (0x00000000)
        .... .... ..0. .... .... .... .... .... = ECN-Capable Transport (ECT): Not set
        .... .... ...0 .... .... .... .... .... = ECN-CE: Not set
    .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
    Payload length: 1396
    Next header: TCP (0x06)
    Hop limit: 57
    Source: 2a01:3f0:0:31::14 (2a01:3f0:0:31::14)
    Destination: 2001:470:d38c:2::4 (2001:470:d38c:2::4)
Transmission Control Protocol, Src Port: http (80), Dst Port: 50727 (50727), Seq: 1, Ack: 332, Len: 1364
    Source port: http (80)
    Destination port: 50727 (50727)
    [Stream index: 0]
    Sequence number: 1    (relative sequence number)
    [Next sequence number: 1365    (relative sequence number)]
    Acknowledgement number: 332    (relative ack number)
    Header length: 32 bytes
    Flags: 0x10 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgement: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size: 6784 (scaled)
    Checksum: 0x4cf6 [correct]
        [Good Checksum: True]
        [Bad Checksum: False]
    Options: (12 bytes)
        NOP
        NOP
        Timestamps: TSval 1562516388, TSecr 878496807
    [SEQ/ACK analysis]
        [Number of bytes in flight: 1364]
    TCP segment data (1364 bytes)

0000  00 22 41 fa 01 88 00 1f f3 c6 91 59 86 dd 60 00   ."A........Y..`.
0010  00 00 05 74 06 39 2a 01 03 f0 00 00 00 31 00 00   ...t.9*......1..
0020  00 00 00 00 00 14 20 01 04 70 d3 8c 00 02 00 00   ...... ..p......
0030  00 00 00 00 00 04 00 50 c6 27 11 12 53 c4 ac 98   .......P.'..S...
0040  19 92 80 10 00 6a 4c f6 00 00 01 01 08 0a 5d 22   .....jL.......]"
0050  1b a4 34 5c cc 27 48 54 54 50 2f 31 2e 31 20 32   ..4\.'HTTP/1.1 2
0060  30 30 20 4f 4b 0d 0a 44 61 74 65 3a 20 54 68 75   00 OK..Date: Thu
0070  2c 20 32 32 20 4d 61 72 20 32 30 31 32 20 31 31   , 22 Mar 2012 11
0080  3a 33 32 3a 33 34 20 47 4d 54 0d 0a 53 65 72 76   :32:34 GMT..Serv
0090  65 72 3a 20 41 70 61 63 68 65 2f 32 2e 32 2e 32   er: Apache/2.2.2
00a0  31 20 28 44 65 62 69 61 6e 29 0d 0a 41 63 63 65   1 (Debian)..Acce
00b0  70 74 2d 52 61 6e 67 65 73 3a 20 62 79 74 65 73   pt-Ranges: bytes
00c0  0d 0a 4b 65 65 70 2d 41 6c 69 76 65 3a 20 74 69   ..Keep-Alive: ti
00d0  6d 65 6f 75 74 3d 35 2c 20 6d 61 78 3d 31 30 30   meout=5, max=100
00e0  0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 4b 65   ..Connection: Ke
00f0  65 70 2d 41 6c 69 76 65 0d 0a 54 72 61 6e 73 66   ep-Alive..Transf
0100  65 72 2d 45 6e 63 6f 64 69 6e 67 3a 20 63 68 75   er-Encoding: chu
0110  6e 6b 65 64 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79   nked..Content-Ty
0120  70 65 3a 20 74 65 78 74 2f 68 74 6d 6c 3b 20 63   pe: text/html; c
0130  68 61 72 73 65 74 3d 49 53 4f 2d 38 38 35 39 2d   harset=ISO-8859-
0140  31 0d 0a 0d 0a 31 61 65 0d 0a 3c 21 44 4f 43 54   1....1ae..<!DOCT
0150  59 50 45 20 68 74 6d 6c 20 50 55 42 4c 49 43 20   YPE html PUBLIC 
0160  22 2d 2f 2f 57 33 43 2f 2f 44 54 44 20 58 48 54   "-//W3C//DTD XHT
0170  4d 4c 20 31 2e 30 20 54 72 61 6e 73 69 74 69 6f   ML 1.0 Transitio
0180  6e 61 6c 2f 2f 45 4e 22 0a 20 20 20 20 22 68 74   nal//EN".    "ht
0190  74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f   tp://www.w3.org/
01a0  54 52 2f 78 68 74 6d 6c 31 2f 44 54 44 2f 78 68   TR/xhtml1/DTD/xh
01b0  74 6d 6c 31 2d 74 72 61 6e 73 69 74 69 6f 6e 61   tml1-transitiona
01c0  6c 2e 64 74 64 22 3e 0a 0a 3c 68 74 6d 6c 20 3e   l.dtd">..<html >
01d0  0a 3c 68 65 61 64 3e 0a 20 20 3c 6d 65 74 61 20   .<head>.  <meta 
01e0  68 74 74 70 2d 65 71 75 69 76 3d 22 43 6f 6e 74   http-equiv="Cont
01f0  65 6e 74 2d 54 79 70 65 22 20 63 6f 6e 74 65 6e   ent-Type" conten
0200  74 3d 22 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68   t="text/html; ch
0210  61 72 73 65 74 3d 6c 61 74 69 6e 2d 31 22 20 2f   arset=latin-1" /
0220  3e 0a 20 20 3c 6c 69 6e 6b 20 72 65 6c 3d 22 61   >.  <link rel="a
0230  6c 74 65 72 6e 61 74 65 22 20 74 79 70 65 3d 22   lternate" type="
0240  61 70 70 6c 69 63 61 74 69 6f 6e 2f 61 74 6f 6d   application/atom
0250  2b 78 6d 6c 22 20 74 69 74 6c 65 3d 22 49 45 54   +xml" title="IET
0260  46 20 54 6f 6f 6c 73 20 52 65 6c 65 61 73 65 73   F Tools Releases
0270  22 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 74   " href="http://t
0280  6f 6f 6c 73 2e 69 65 74 66 2e 6f 72 67 2f 74 6f   ools.ietf.org/to
0290  6f 6c 73 2f 61 74 6f 6d 66 65 65 64 2e 78 6d 6c   ols/atomfeed.xml
02a0  22 20 2f 3e 0a 0a 20 20 3c 74 69 74 6c 65 3e 49   " />..  <title>I
02b0  45 54 46 20 54 6f 6f 6c 73 3c 2f 74 69 74 6c 65   ETF Tools</title
02c0  3e 0a 0a 20 20 3c 21 2d 2d 20 53 74 79 6c 65 20   >..  <!-- Style 
02d0  73 68 65 65 74 73 20 20 2d 2d 3e 0a 20 20 3c 73   sheets  -->.  <s
02e0  74 79 6c 65 20 74 79 70 65 3d 22 74 65 78 74 2f   tyle type="text/
02f0  63 73 73 22 3e 0a 20 20 0d 0a 31 63 66 64 0d 0a   css">.  ..1cfd..
0300  20 20 20 20 2f 2a 20 77 67 2d 70 61 67 65 2e 63       /* wg-page.c
0310  73 73 20 2a 2f 0a 20 20 20 20 2f 2a 20 48 54 4d   ss */.    /* HTM
0320  4c 20 65 6c 65 6d 65 6e 74 20 73 74 79 6c 65 73   L element styles
0330  20 2a 2f 0a 20 20 20 20 62 6f 64 79 09 7b 0a 09    */.    body.{..
0340  09 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d   .    background-
0350  63 6f 6c 6f 72 3a 20 77 68 69 74 65 3b 20 20 20   color: white;   
0360  20 0a 09 09 20 20 20 20 6d 61 72 67 69 6e 3a 20    ...    margin: 
0370  30 3b 0a 09 09 20 20 20 20 70 61 64 64 69 6e 67   0;...    padding
0380  3a 20 30 3b 0a 09 09 20 20 20 20 62 6f 72 64 65   : 0;...    borde
0390  72 3a 20 30 3b 0a 20 20 20 20 7d 0a 20 20 20 20   r: 0;.    }.    
03a0  62 6f 64 79 2c 20 74 68 2c 20 74 64 09 7b 0a 09   body, th, td.{..
03b0  09 20 20 20 20 66 6f 6e 74 2d 66 61 6d 69 6c 79   .    font-family
03c0  3a 20 22 54 69 6d 65 73 20 4e 65 77 20 52 6f 6d   : "Times New Rom
03d0  61 6e 22 2c 20 74 69 6d 65 73 2c 20 73 65 72 69   an", times, seri
03e0  66 3b 0a 09 09 20 20 20 20 66 6f 6e 74 2d 73 69   f;...    font-si
03f0  7a 65 3a 20 31 31 70 74 3b 0a 09 09 20 20 20 20   ze: 11pt;...    
0400  6d 61 72 67 69 6e 3a 20 30 3b 0a 09 09 7d 0a 09   margin: 0;...}..
0410  09 0a 20 20 20 20 74 64 09 09 7b 20 76 65 72 74   ..    td..{ vert
0420  69 63 61 6c 2d 61 6c 69 67 6e 3a 20 74 6f 70 3b   ical-align: top;
0430  20 70 61 64 64 69 6e 67 3a 20 30 20 30 20 30 20    padding: 0 0 0 
0440  30 3b 20 7d 0a 20 20 20 20 68 31 09 09 7b 20 66   0; }.    h1..{ f
0450  6f 6e 74 2d 73 69 7a 65 3a 20 31 35 30 25 3b 20   ont-size: 150%; 
0460  7d 0a 20 20 20 20 68 32 09 09 7b 20 6d 61 72 67   }.    h2..{ marg
0470  69 6e 3a 20 30 2e 32 32 65 6d 20 30 20 30 2e 32   in: 0.22em 0 0.2
0480  32 65 6d 20 30 3b 20 7d 0a 20 20 20 20 68 34 09   2em 0; }.    h4.
0490  09 7b 20 6d 61 72 67 69 6e 3a 20 30 2e 34 35 65   .{ margin: 0.45e
04a0  6d 20 30 20 30 20 30 3b 20 7d 0a 20 20 20 20 66   m 0 0 0; }.    f
04b0  6f 72 6d 09 7b 20 6d 61 72 67 69 6e 3a 20 31 65   orm.{ margin: 1e
04c0  6d 3b 20 7d 0a 20 20 20 20 2e 6d 65 6e 75 20 66   m; }.    .menu f
04d0  6f 72 6d 09 7b 20 6d 61 72 67 69 6e 3a 20 30 3b   orm.{ margin: 0;
04e0  20 7d 0a 0a 20 20 20 20 69 6e 70 75 74 2e 66 72    }..    input.fr
04f0  75 67 61 6c 2c 74 65 78 74 61 72 65 61 2e 66 72   ugal,textarea.fr
0500  75 67 61 6c 20 7b 0a 09 20 20 20 20 62 6f 72 64   ugal {..    bord
0510  65 72 2d 74 6f 70 3a 20 67 72 6f 6f 76 65 20 32   er-top: groove 2
0520  70 78 20 23 62 62 62 3b 0a 09 20 20 20 20 62 6f   px #bbb;..    bo
0530  72 64 65 72 2d 6c 65 66 74 3a 20 67 72 6f 6f 76   rder-left: groov
0540  65 20 32 70 78 20 23 63 63 63 3b 0a 09 20 20 20   e 2px #ccc;..   
0550  20 62 6f 72 64 65 72 2d 72 69 67 68 74 3a 20 72    border-right: r
0560  69 64 67 65 20 32 70 78 20 23 64 64 64 20 3b 0a   idge 2px #ddd ;.
0570  09 20 20 20 20 62 6f 72 64 65 72 2d 62 6f 74 74   .    border-bott
0580  6f 6d 3a 20 73 6f 6c 69 64 20 31 70 78 20 23 64   om: solid 1px #d
0590  64 64 3b 0a 09 20 20 20 20 70 61 64 64 69 6e 67   dd;..    padding
05a0  3a 20 31 70 78 3b 0a 09 20 20                     : 1px;..  


Firefox encoding of the first packet from the server (when it succeeds is)
NOTE the presence of a fragment header in this case.

No.     Time        Source                Destination           Protocol Info
      6 0.145912    2a01:3f0:0:31::14     2001:470:d38c:2::4    TCP      [TCP segment of a reassembled PDU]

Frame 6: 1450 bytes on wire (11600 bits), 1450 bytes captured (11600 bits)
    Arrival Time: Mar 22, 2012 12:33:13.668603000 CET
    Epoch Time: 1332415993.668603000 seconds
    [Time delta from previous captured frame: 0.021844000 seconds]
    [Time delta from previous displayed frame: 0.021844000 seconds]
    [Time since reference or first frame: 0.145912000 seconds]
    Frame Number: 6
    Frame Length: 1450 bytes (11600 bits)
    Capture Length: 1450 bytes (11600 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ipv6:tcp:http]
    [Coloring Rule Name: HTTP]
    [Coloring Rule String: http || tcp.port == 80]
Ethernet II, Src: Apple_c6:91:59 (00:1f:f3:c6:91:59), Dst: Apple_fa:01:88 (00:22:41:fa:01:88)
    Destination: Apple_fa:01:88 (00:22:41:fa:01:88)
        Address: Apple_fa:01:88 (00:22:41:fa:01:88)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Source: Apple_c6:91:59 (00:1f:f3:c6:91:59)
        Address: Apple_c6:91:59 (00:1f:f3:c6:91:59)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Type: IPv6 (0x86dd)
Internet Protocol Version 6, Src: 2a01:3f0:0:31::14 (2a01:3f0:0:31::14), Dst: 2001:470:d38c:2::4 (2001:470:d38c:2::4)
    0110 .... = Version: 6
        [0110 .... = This field makes the filter "ip.version == 6" possible: 6]
    .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
        .... 0000 00.. .... .... .... .... .... = Differentiated Services Field: Default (0x00000000)
        .... .... ..0. .... .... .... .... .... = ECN-Capable Transport (ECT): Not set
        .... .... ...0 .... .... .... .... .... = ECN-CE: Not set
    .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
    Payload length: 1396
    Next header: TCP (0x06)
    Hop limit: 57
    Source: 2a01:3f0:0:31::14 (2a01:3f0:0:31::14)
    Destination: 2001:470:d38c:2::4 (2001:470:d38c:2::4)
Transmission Control Protocol, Src Port: http (80), Dst Port: 50733 (50733), Seq: 1, Ack: 336, Len: 1364
    Source port: http (80)
    Destination port: 50733 (50733)
    [Stream index: 0]
    Sequence number: 1    (relative sequence number)
    [Next sequence number: 1365    (relative sequence number)]
    Acknowledgement number: 336    (relative ack number)
    Header length: 32 bytes
    Flags: 0x10 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgement: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size: 6784 (scaled)
    Checksum: 0xb0d1 [correct]
        [Good Checksum: True]
        [Bad Checksum: False]
    Options: (12 bytes)
        NOP
        NOP
        Timestamps: TSval 1562526060, TSecr 878497202
    [SEQ/ACK analysis]
        [Number of bytes in flight: 1364]
    TCP segment data (1364 bytes)

0000  00 22 41 fa 01 88 00 1f f3 c6 91 59 86 dd 60 00   ."A........Y..`.
0010  00 00 05 74 06 39 2a 01 03 f0 00 00 00 31 00 00   ...t.9*......1..
0020  00 00 00 00 00 14 20 01 04 70 d3 8c 00 02 00 00   ...... ..p......
0030  00 00 00 00 00 04 00 50 c6 2d 42 ab 5a f3 90 cc   .......P.-B.Z...
0040  72 62 80 10 00 6a b0 d1 00 00 01 01 08 0a 5d 22   rb...j........]"
0050  41 6c 34 5c cd b2 48 54 54 50 2f 31 2e 31 20 32   Al4\..HTTP/1.1 2
0060  30 30 20 4f 4b 0d 0a 44 61 74 65 3a 20 54 68 75   00 OK..Date: Thu
0070  2c 20 32 32 20 4d 61 72 20 32 30 31 32 20 31 31   , 22 Mar 2012 11
0080  3a 33 33 3a 31 33 20 47 4d 54 0d 0a 53 65 72 76   :33:13 GMT..Serv
0090  65 72 3a 20 41 70 61 63 68 65 2f 32 2e 32 2e 32   er: Apache/2.2.2
00a0  31 20 28 44 65 62 69 61 6e 29 0d 0a 41 63 63 65   1 (Debian)..Acce
00b0  70 74 2d 52 61 6e 67 65 73 3a 20 62 79 74 65 73   pt-Ranges: bytes
00c0  0d 0a 4b 65 65 70 2d 41 6c 69 76 65 3a 20 74 69   ..Keep-Alive: ti
00d0  6d 65 6f 75 74 3d 35 2c 20 6d 61 78 3d 31 30 30   meout=5, max=100
00e0  0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 4b 65   ..Connection: Ke
00f0  65 70 2d 41 6c 69 76 65 0d 0a 54 72 61 6e 73 66   ep-Alive..Transf
0100  65 72 2d 45 6e 63 6f 64 69 6e 67 3a 20 63 68 75   er-Encoding: chu
0110  6e 6b 65 64 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79   nked..Content-Ty
0120  70 65 3a 20 74 65 78 74 2f 68 74 6d 6c 3b 20 63   pe: text/html; c
0130  68 61 72 73 65 74 3d 49 53 4f 2d 38 38 35 39 2d   harset=ISO-8859-
0140  31 0d 0a 0d 0a 31 61 65 0d 0a 3c 21 44 4f 43 54   1....1ae..<!DOCT
0150  59 50 45 20 68 74 6d 6c 20 50 55 42 4c 49 43 20   YPE html PUBLIC 
0160  22 2d 2f 2f 57 33 43 2f 2f 44 54 44 20 58 48 54   "-//W3C//DTD XHT
0170  4d 4c 20 31 2e 30 20 54 72 61 6e 73 69 74 69 6f   ML 1.0 Transitio
0180  6e 61 6c 2f 2f 45 4e 22 0a 20 20 20 20 22 68 74   nal//EN".    "ht
0190  74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f   tp://www.w3.org/
01a0  54 52 2f 78 68 74 6d 6c 31 2f 44 54 44 2f 78 68   TR/xhtml1/DTD/xh
01b0  74 6d 6c 31 2d 74 72 61 6e 73 69 74 69 6f 6e 61   tml1-transitiona
01c0  6c 2e 64 74 64 22 3e 0a 0a 3c 68 74 6d 6c 20 3e   l.dtd">..<html >
01d0  0a 3c 68 65 61 64 3e 0a 20 20 3c 6d 65 74 61 20   .<head>.  <meta 
01e0  68 74 74 70 2d 65 71 75 69 76 3d 22 43 6f 6e 74   http-equiv="Cont
01f0  65 6e 74 2d 54 79 70 65 22 20 63 6f 6e 74 65 6e   ent-Type" conten
0200  74 3d 22 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68   t="text/html; ch
0210  61 72 73 65 74 3d 6c 61 74 69 6e 2d 31 22 20 2f   arset=latin-1" /
0220  3e 0a 20 20 3c 6c 69 6e 6b 20 72 65 6c 3d 22 61   >.  <link rel="a
0230  6c 74 65 72 6e 61 74 65 22 20 74 79 70 65 3d 22   lternate" type="
0240  61 70 70 6c 69 63 61 74 69 6f 6e 2f 61 74 6f 6d   application/atom
0250  2b 78 6d 6c 22 20 74 69 74 6c 65 3d 22 49 45 54   +xml" title="IET
0260  46 20 54 6f 6f 6c 73 20 52 65 6c 65 61 73 65 73   F Tools Releases
0270  22 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 74   " href="http://t
0280  6f 6f 6c 73 2e 69 65 74 66 2e 6f 72 67 2f 74 6f   ools.ietf.org/to
0290  6f 6c 73 2f 61 74 6f 6d 66 65 65 64 2e 78 6d 6c   ols/atomfeed.xml
02a0  22 20 2f 3e 0a 0a 20 20 3c 74 69 74 6c 65 3e 49   " />..  <title>I
02b0  45 54 46 20 54 6f 6f 6c 73 3c 2f 74 69 74 6c 65   ETF Tools</title
02c0  3e 0a 0a 20 20 3c 21 2d 2d 20 53 74 79 6c 65 20   >..  <!-- Style 
02d0  73 68 65 65 74 73 20 20 2d 2d 3e 0a 20 20 3c 73   sheets  -->.  <s
02e0  74 79 6c 65 20 74 79 70 65 3d 22 74 65 78 74 2f   tyle type="text/
02f0  63 73 73 22 3e 0a 20 20 0d 0a 31 63 66 64 0d 0a   css">.  ..1cfd..
0300  20 20 20 20 2f 2a 20 77 67 2d 70 61 67 65 2e 63       /* wg-page.c
0310  73 73 20 2a 2f 0a 20 20 20 20 2f 2a 20 48 54 4d   ss */.    /* HTM
0320  4c 20 65 6c 65 6d 65 6e 74 20 73 74 79 6c 65 73   L element styles
0330  20 2a 2f 0a 20 20 20 20 62 6f 64 79 09 7b 0a 09    */.    body.{..
0340  09 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d   .    background-
0350  63 6f 6c 6f 72 3a 20 77 68 69 74 65 3b 20 20 20   color: white;   
0360  20 0a 09 09 20 20 20 20 6d 61 72 67 69 6e 3a 20    ...    margin: 
0370  30 3b 0a 09 09 20 20 20 20 70 61 64 64 69 6e 67   0;...    padding
0380  3a 20 30 3b 0a 09 09 20 20 20 20 62 6f 72 64 65   : 0;...    borde
0390  72 3a 20 30 3b 0a 20 20 20 20 7d 0a 20 20 20 20   r: 0;.    }.    
03a0  62 6f 64 79 2c 20 74 68 2c 20 74 64 09 7b 0a 09   body, th, td.{..
03b0  09 20 20 20 20 66 6f 6e 74 2d 66 61 6d 69 6c 79   .    font-family
03c0  3a 20 22 54 69 6d 65 73 20 4e 65 77 20 52 6f 6d   : "Times New Rom
03d0  61 6e 22 2c 20 74 69 6d 65 73 2c 20 73 65 72 69   an", times, seri
03e0  66 3b 0a 09 09 20 20 20 20 66 6f 6e 74 2d 73 69   f;...    font-si
03f0  7a 65 3a 20 31 31 70 74 3b 0a 09 09 20 20 20 20   ze: 11pt;...    
0400  6d 61 72 67 69 6e 3a 20 30 3b 0a 09 09 7d 0a 09   margin: 0;...}..
0410  09 0a 20 20 20 20 74 64 09 09 7b 20 76 65 72 74   ..    td..{ vert
0420  69 63 61 6c 2d 61 6c 69 67 6e 3a 20 74 6f 70 3b   ical-align: top;
0430  20 70 61 64 64 69 6e 67 3a 20 30 20 30 20 30 20    padding: 0 0 0 
0440  30 3b 20 7d 0a 20 20 20 20 68 31 09 09 7b 20 66   0; }.    h1..{ f
0450  6f 6e 74 2d 73 69 7a 65 3a 20 31 35 30 25 3b 20   ont-size: 150%; 
0460  7d 0a 20 20 20 20 68 32 09 09 7b 20 6d 61 72 67   }.    h2..{ marg
0470  69 6e 3a 20 30 2e 32 32 65 6d 20 30 20 30 2e 32   in: 0.22em 0 0.2
0480  32 65 6d 20 30 3b 20 7d 0a 20 20 20 20 68 34 09   2em 0; }.    h4.
0490  09 7b 20 6d 61 72 67 69 6e 3a 20 30 2e 34 35 65   .{ margin: 0.45e
04a0  6d 20 30 20 30 20 30 3b 20 7d 0a 20 20 20 20 66   m 0 0 0; }.    f
04b0  6f 72 6d 09 7b 20 6d 61 72 67 69 6e 3a 20 31 65   orm.{ margin: 1e
04c0  6d 3b 20 7d 0a 20 20 20 20 2e 6d 65 6e 75 20 66   m; }.    .menu f
04d0  6f 72 6d 09 7b 20 6d 61 72 67 69 6e 3a 20 30 3b   orm.{ margin: 0;
04e0  20 7d 0a 0a 20 20 20 20 69 6e 70 75 74 2e 66 72    }..    input.fr
04f0  75 67 61 6c 2c 74 65 78 74 61 72 65 61 2e 66 72   ugal,textarea.fr
0500  75 67 61 6c 20 7b 0a 09 20 20 20 20 62 6f 72 64   ugal {..    bord
0510  65 72 2d 74 6f 70 3a 20 67 72 6f 6f 76 65 20 32   er-top: groove 2
0520  70 78 20 23 62 62 62 3b 0a 09 20 20 20 20 62 6f   px #bbb;..    bo
0530  72 64 65 72 2d 6c 65 66 74 3a 20 67 72 6f 6f 76   rder-left: groov
0540  65 20 32 70 78 20 23 63 63 63 3b 0a 09 20 20 20   e 2px #ccc;..   
0550  20 62 6f 72 64 65 72 2d 72 69 67 68 74 3a 20 72    border-right: r
0560  69 64 67 65 20 32 70 78 20 23 64 64 64 20 3b 0a   idge 2px #ddd ;.
0570  09 20 20 20 20 62 6f 72 64 65 72 2d 62 6f 74 74   .    border-bott
0580  6f 6d 3a 20 73 6f 6c 69 64 20 31 70 78 20 23 64   om: solid 1px #d
0590  64 64 3b 0a 09 20 20 20 20 70 61 64 64 69 6e 67   dd;..    padding
05a0  3a 20 31 70 78 3b 0a 09 20 20                     : 1px;..  

No.     Time        Source                Destination           Protocol Info
      7 0.145917    2a01:3f0:0:31::14     2001:470:d38c:2::4    TCP      [TCP segment of a reassembled PDU]

Frame 7: 1450 bytes on wire (11600 bits), 1450 bytes captured (11600 bits)
    Arrival Time: Mar 22, 2012 12:33:13.668608000 CET
    Epoch Time: 1332415993.668608000 seconds
    [Time delta from previous captured frame: 0.000005000 seconds]
    [Time delta from previous displayed frame: 0.000005000 seconds]
    [Time since reference or first frame: 0.145917000 seconds]
    Frame Number: 7
    Frame Length: 1450 bytes (11600 bits)
    Capture Length: 1450 bytes (11600 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ipv6:tcp]
    [Coloring Rule Name: HTTP]
    [Coloring Rule String: http || tcp.port == 80]
Ethernet II, Src: Apple_c6:91:59 (00:1f:f3:c6:91:59), Dst: Apple_fa:01:88 (00:22:41:fa:01:88)
    Destination: Apple_fa:01:88 (00:22:41:fa:01:88)
        Address: Apple_fa:01:88 (00:22:41:fa:01:88)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Source: Apple_c6:91:59 (00:1f:f3:c6:91:59)
        Address: Apple_c6:91:59 (00:1f:f3:c6:91:59)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
    Type: IPv6 (0x86dd)
Internet Protocol Version 6, Src: 2a01:3f0:0:31::14 (2a01:3f0:0:31::14), Dst: 2001:470:d38c:2::4 (2001:470:d38c:2::4)
    0110 .... = Version: 6
        [0110 .... = This field makes the filter "ip.version == 6" possible: 6]
    .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
        .... 0000 00.. .... .... .... .... .... = Differentiated Services Field: Default (0x00000000)
        .... .... ..0. .... .... .... .... .... = ECN-Capable Transport (ECT): Not set
        .... .... ...0 .... .... .... .... .... = ECN-CE: Not set
    .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
    Payload length: 1396
    Next header: TCP (0x06)
    Hop limit: 57
    Source: 2a01:3f0:0:31::14 (2a01:3f0:0:31::14)
    Destination: 2001:470:d38c:2::4 (2001:470:d38c:2::4)
Transmission Control Protocol, Src Port: http (80), Dst Port: 50733 (50733), Seq: 1365, Ack: 336, Len: 1364
    Source port: http (80)
    Destination port: 50733 (50733)
    [Stream index: 0]
    Sequence number: 1365    (relative sequence number)
    [Next sequence number: 2729    (relative sequence number)]
    Acknowledgement number: 336    (relative ack number)
    Header length: 32 bytes
    Flags: 0x10 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgement: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size: 6784 (scaled)
    Checksum: 0x893a [correct]
        [Good Checksum: True]
        [Bad Checksum: False]
    Options: (12 bytes)
        NOP
        NOP
        Timestamps: TSval 1562526060, TSecr 878497202
    [SEQ/ACK analysis]
        [Number of bytes in flight: 2728]
    [Reassembled PDU in frame: 209]
    TCP segment data (1364 bytes)

0000  00 22 41 fa 01 88 00 1f f3 c6 91 59 86 dd 60 00   ."A........Y..`.
0010  00 00 05 74 06 39 2a 01 03 f0 00 00 00 31 00 00   ...t.9*......1..
0020  00 00 00 00 00 14 20 01 04 70 d3 8c 00 02 00 00   ...... ..p......
0030  00 00 00 00 00 04 00 50 c6 2d 42 ab 60 47 90 cc   .......P.-B.`G..
0040  72 62 80 10 00 6a 89 3a 00 00 01 01 08 0a 5d 22   rb...j.:......]"
0050  41 6c 34 5c cd b2 20 20 6d 61 72 67 69 6e 3a 20   Al4\..  margin: 
0060  31 70 78 3b 0a 09 20 20 20 20 76 65 72 74 69 63   1px;..    vertic
0070  61 6c 2d 61 6c 69 67 6e 3a 20 6d 69 64 64 6c 65   al-align: middle
0080  3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 20   ;.    }..    /* 
0090  53 74 79 6c 65 20 63 6c 61 73 73 65 73 20 2a 2f   Style classes */
00a0  0a 0a 20 20 20 20 2e 70 61 67 65 09 7b 0a 09 09   ..    .page.{...
00b0  20 20 6d 61 72 67 69 6e 3a 20 30 2e 32 65 6d 20     margin: 0.2em 
00c0  30 2e 34 65 6d 3b 0a 09 09 20 20 77 69 64 74 68   0.4em;...  width
00d0  3a 20 35 38 65 6d 3b 0a 09 09 7d 0a 20 20 2f 2a   : 58em;...}.  /*
00e0  20 55 6e 64 6f 20 73 6f 6d 65 20 6f 66 20 74 68    Undo some of th
00f0  65 20 73 65 74 74 69 6e 67 73 20 61 62 6f 76 65   e settings above
0100  2c 20 66 6f 72 20 66 75 6c 6c 79 20 63 73 73 20   , for fully css 
0110  63 6f 6d 70 6c 69 61 6e 74 20 62 72 6f 77 73 65   compliant browse
0120  72 73 2e 20 2a 2f 0a 20 20 2f 2a 20 54 68 65 20   rs. */.  /* The 
0130  71 75 61 6c 69 66 69 63 61 74 69 6f 6e 20 6f 66   qualification of
0140  20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 68 69    the elements hi
0150  64 65 20 74 68 69 73 20 66 72 6f 6d 20 6c 65 73   de this from les
0160  73 20 63 61 70 61 62 6c 65 20 62 72 6f 77 73 65   s capable browse
0170  72 73 2e 20 2a 2f 0a 20 20 20 20 64 69 76 5b 63   rs. */.    div[c
0180  6c 61 73 73 3d 70 61 67 65 5d 09 7b 0a 09 09 20   lass=page].{... 
0190  20 77 69 64 74 68 3a 20 61 75 74 6f 3b 0a 09 09    width: auto;...
01a0  20 20 6d 61 78 2d 77 69 64 74 68 3a 20 35 38 65     max-width: 58e
01b0  6d 3b 09 2f 2a 20 35 38 65 6d 20 3d 20 31 32 38   m;./* 58em = 128
01c0  65 78 20 69 6e 20 74 68 65 20 64 65 73 69 67 6e   ex in the design
01d0  20 62 72 6f 77 73 65 72 20 2a 2f 0a 09 09 7d 0a    browser */...}.
01e0  20 20 20 20 64 69 76 5b 63 6c 61 73 73 3d 63 6f       div[class=co
01f0  6e 74 65 6e 74 5d 09 7b 0a 09 09 20 20 77 69 64   ntent].{...  wid
0200  74 68 3a 20 61 75 74 6f 3b 0a 09 09 20 20 6d 61   th: auto;...  ma
0210  78 2d 77 69 64 74 68 3a 20 35 38 65 6d 3b 0a 09   x-width: 58em;..
0220  09 7d 0a 0a 0a 0a 20 20 20 20 2f 2a 20 4c 69 6e   .}....    /* Lin
0230  6b 20 73 74 79 6c 65 73 20 2a 2f 0a 20 20 20 20   k styles */.    
0240  3a 6c 69 6e 6b 2c 20 3a 76 69 73 69 74 65 64 20   :link, :visited 
0250  7b 0a 09 20 20 20 20 74 65 78 74 2d 64 65 63 6f   {..    text-deco
0260  72 61 74 69 6f 6e 3a 20 75 6e 64 65 72 6c 69 6e   ration: underlin
0270  65 3b 0a 09 20 20 20 20 63 6f 6c 6f 72 3a 20 23   e;..    color: #
0280  30 30 44 3b 0a 09 20 20 20 20 62 6f 72 64 65 72   00D;..    border
0290  2d 62 6f 74 74 6f 6d 3a 20 30 3b 0a 20 20 20 20   -bottom: 0;.    
02a0  7d 0a 20 20 20 20 3a 6c 69 6e 6b 3a 68 6f 76 65   }.    :link:hove
02b0  72 2c 20 3a 76 69 73 69 74 65 64 3a 68 6f 76 65   r, :visited:hove
02c0  72 20 7b 0a 09 20 20 20 20 62 61 63 6b 67 72 6f   r {..    backgro
02d0  75 6e 64 2d 63 6f 6c 6f 72 3a 20 69 6e 68 65 72   und-color: inher
02e0  69 74 3b 0a 09 20 20 20 20 63 6f 6c 6f 72 3a 20   it;..    color: 
02f0  23 30 30 44 3b 0a 20 20 20 20 7d 0a 0a 20 20 20   #00D;.    }..   
0300  20 2e 6d 61 73 74 68 65 61 64 20 7b 0a 20 20 20    .masthead {.   
0310  20 20 20 20 20 66 6f 6e 74 2d 66 61 6d 69 6c 79        font-family
0320  3a 20 22 44 69 64 6f 74 22 2c 20 22 43 6f 63 68   : "Didot", "Coch
0330  69 6e 22 2c 20 22 42 61 73 6b 65 72 76 69 6c 6c   in", "Baskervill
0340  65 22 2c 20 73 65 72 69 66 3b 0a 20 20 20 20 20   e", serif;.     
0350  20 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 34 32      font-size: 42
0360  30 25 3b 0a 09 74 65 78 74 2d 61 6c 69 67 6e 3a   0%;..text-align:
0370  20 63 65 6e 74 65 72 3b 0a 09 70 61 64 64 69 6e    center;..paddin
0380  67 3a 20 30 2e 32 32 65 6d 3b 0a 20 20 20 20 7d   g: 0.22em;.    }
0390  0a 20 20 20 20 2e 73 6c 6f 67 61 6e 20 7b 0a 20   .    .slogan {. 
03a0  20 20 20 20 20 20 20 66 6f 6e 74 2d 66 61 6d 69          font-fami
03b0  6c 79 3a 20 22 44 69 64 6f 74 22 2c 20 22 43 6f   ly: "Didot", "Co
03c0  63 68 69 6e 22 2c 20 22 42 61 73 6b 65 72 76 69   chin", "Baskervi
03d0  6c 6c 65 22 2c 20 73 65 72 69 66 3b 0a 20 20 20   lle", serif;.   
03e0  20 20 20 20 20 66 6f 6e 74 2d 73 74 79 6c 65 3a        font-style:
03f0  20 69 74 61 6c 69 63 3b 0a 09 74 65 78 74 2d 61    italic;..text-a
0400  6c 69 67 6e 3a 20 63 65 6e 74 65 72 3b 0a 09 70   lign: center;..p
0410  61 64 64 69 6e 67 2d 62 6f 74 74 6f 6d 3a 20 30   adding-bottom: 0
0420  2e 34 35 65 6d 3b 0a 20 20 20 20 7d 0a 20 20 20   .45em;.    }.   
0430  20 2e 6e 65 77 73 20 7b 0a 20 20 20 20 20 20 20    .news {.       
0440  20 66 6f 6e 74 2d 66 61 6d 69 6c 79 3a 20 22 54    font-family: "T
0450  69 6d 65 73 22 2c 20 22 54 69 6d 65 73 20 52 6f   imes", "Times Ro
0460  6d 61 6e 22 2c 20 73 65 72 69 66 3b 0a 09 63 6f   man", serif;..co
0470  6c 6f 72 3a 20 23 32 32 32 3b 0a 09 70 61 64 64   lor: #222;..padd
0480  69 6e 67 3a 20 30 2e 34 35 65 6d 3b 0a 20 20 20   ing: 0.45em;.   
0490  20 7d 0a 20 20 20 20 74 64 2e 6e 65 77 73 20 7b    }.    td.news {
04a0  0a 09 77 69 64 74 68 3a 20 35 30 25 3b 0a 20 20   ..width: 50%;.  
04b0  20 20 7d 0a 0a 20 20 20 20 2e 76 65 72 73 69 6f     }..    .versio
04c0  6e 09 7b 0a 09 09 20 20 66 6f 6e 74 2d 66 61 6d   n.{...  font-fam
04d0  69 6c 79 3a 20 68 65 6c 76 65 74 69 63 61 2c 20   ily: helvetica, 
04e0  61 72 69 61 6c 2c 20 73 61 6e 73 2d 73 65 72 69   arial, sans-seri
04f0  66 3b 0a 09 09 20 20 66 6f 6e 74 2d 73 74 79 6c   f;...  font-styl
0500  65 3a 20 69 74 61 6c 69 63 3b 0a 09 09 20 20 66   e: italic;...  f
0510  6f 6e 74 2d 73 69 7a 65 3a 20 38 2e 35 70 74 3b   ont-size: 8.5pt;
0520  0a 09 09 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a   ...  text-align:
0530  20 72 69 67 68 74 3b 0a 09 09 20 20 63 6f 6c 6f    right;...  colo
0540  72 3a 20 23 61 61 61 3b 0a 09 09 20 20 6d 61 72   r: #aaa;...  mar
0550  67 69 6e 3a 20 30 3b 0a 09 09 20 20 70 61 64 64   gin: 0;...  padd
0560  69 6e 67 3a 20 30 3b 0a 09 09 7d 20 0a 20 20 20   ing: 0;...} .   
0570  20 2e 76 65 72 73 69 6f 6e 20 61 3a 6c 69 6e 6b    .version a:link
0580  09 7b 20 63 6f 6c 6f 72 3a 20 23 61 61 61 3b 20   .{ color: #aaa; 
0590  7d 0a 20 20 20 20 2e 76 65 72 73 69 6f 6e 20 61   }.    .version a
05a0  3a 76 69 73 69 74 65 64 09 7b                     :visited.{
I can't recreate this consistently now, although the problem persists :( Sorry. I'll keep on looking if I can find anything more concrete in captures. Anyway the conclusion is the same: Mozilla should probably not rely on session establishment as an indication that any HTTP request will be fully serviced i.e. it should time out non-progressing HTTP requests, and either retry (possibly using alternative IP addresses whether IPv6 or IPv4 obtained from the resolver) or produce an error message to the user. It should probably not just hang "forever" waiting for TCP to timeout, because that might be a very long time.
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.