From time to time, I've heard the question: "Why can IE only download two files from the same site simultaneously?"
Some more savvy users observe that this limitation probably makes
sense in dialup cases where bandwidth is constrained or when lots of
small files are being downloaded, since the TCP/IP slow start algorithm comes into play.
But for those of us lucky enough to be on broadband, this limitation
can be annoying. If I want to download a large number of large files,
I have to sit around and wait for them to complete, two-by-two. Why
does IE behave this way while some other browsers do not?
It turns out that this is a case where IE strictly follows the standards-- in this case, RFC2616, which covers HTTP1.1. As noted in the RFC:
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.
Saavy web developers can take this connection limit into account and
deliver their data from multiple domains, since the browser will open
up to two connections per domain. You can see this trick on pages like
Office Online Templates using Microsoft Fiddler
or another network monitoring tool. In this case, two domains
(office.microsoft.com and i.office.microsoft.com) split the load,
permitting up to four simultaneous connections.
If you'd like to experiment with higher connection limits inside IE, have a look at http://support.microsoft.com/kb/183110. Note that changing this setting violates HTTP RFCs, and hence might impact compatibility with servers and proxies.
-EricLaw
PS: Another web-performance tip: When generating hyperlinks, always
include a trailing slash if possible. For instance, navigating to http://msdn.microsoft.com/ie takes one more roundtrip than http://msdn.microsoft.com/ie/. When the browser navigates to the /ie url, the server merely sends down a 301 to the /ie/ url. Both links work, but the second version is faster.