6 Nov 2006 20:14
HTTP Pipelining performance
Boris Zbarsky <bzbarsky <at> mit.edu>
2006-11-06 19:14:45 GMT
2006-11-06 19:14:45 GMT
I've been looking at the way we kick off loads (due to working on bug 84582 again), and I am once again reminded of how nice pipelining would be. For example, in the following code: <html> <head> <link rel="stylesheet" ...> <script /> </head> Lots of body HTML. </html> We currently don't kick off the script load until the stylesheet loads. If bug 84582 is fixed, we'd kick off the load immediately, but it wouldn't hit the wire until either the sheet loads or the page HTML finishes coming in (2 connections per server limit, with keepalive). Of course if pipelining were enabled we could kick off the script load immediately. I realize pipelining is hard to do because of server issues, but do we at least know which servers have problems? Or have a list of servers known to not have problems? If we do, it seems to me that we could just maintain a cache of host+port -> boolean indicating whether the server supports pipelining in necko. If something's not in the cache, default to no pipelining. When we get a response from the server, look at the Server: header and populate the cache accordingly... (either default to true and set false if the server is on a blacklist, or default false and set true if server is on a whitelist or something). That way the original connection that(Continue reading)
RSS Feed