Two HTTP connections per frame
From MemberWiki
A number of variations on this policy are possible; for example:
- Two connections per browser window (not including tabs)
- Two connections per user-initiated frame (not including embedded iframes, but including tabs and allowed pop-up windows)
It may be desirable to require that the connection limit be associated only with user-initiated objects as otherwise a single page containing a large number of iframes could open a large number of connections.
A file upload can consume one of the connections. Rather than increase the connection limit to account for file uploads, it may be better for applications to either revert to polling or to use a distinct DNS name for the upload host. (Ideally file uploads should be managed with an API that provides control over pipelining and specific connections.)
Note that the server always has the option of limiting the number of connections from a particular user or host.
People often quote RFC2616, indicating that increasing this limit would be in conflict with this specification:
Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given server. A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy.
http://www.ietf.org/rfc/rfc2616.txt
This is a SHOULD, so carefully reasoned exceptions are allowed. Further, what is a "single-user client"? Is it a browser process or a browser window? (Or is it all the machines in an office with a single IP because they're behind a firewall?) In the case of a highly interactive Ajax application, it can be argued that the "client" is the window (or tab).
