I woke up this morning to an auto-update message from Firefox saying that beta 5 was available. Aside from some polish and a few bug fixes, beta 5 does have one big change over the last version: by default it will now keep three times as many connections to the server open at once. This change is somewhat controversial so let’s look at it in a bit more depth.
When you open a web page that has many different objects on it, like images, Javascript files, frames, data feeds, and so forth, the browser tries to download several of them at once to get better performance. The effect is dramatic for the user, but hard on web servers.
Most HTTP servers and browsers use a protocol called “keep-alive” that doesn’t close the connection when the client is done with it. This makes sense; opening a remote connection is expensive so it’s much faster to open one and download 20 small items than to open and close a connection 20 times. Unfortunately the server can’t tell exactly when the client is done, so all these connections are kept alive and consume resources on the server for some time.
Related posts: