I agree with SolarPowered regarding "Necessity is the mother of invention." Thus the web server I am designing (a high performance application framework), actually detects excess connections and is capable of intentionally stalling, or even dropping, the excess (as specified by settings in the configuration).

But jooles is right. If you demand more than a reasonable fair share, the webmaster (or the server logic) can detect this and can do something about it. I've had to do this before, myself, and know some other people who have. I've also architected a 300+ web server farm that had to contend with these issues.

Web servers vary by capacity. I don't expect ECN to be anywhere near the capacity of EBAY, for example. Making 30 extra HTTP connections to EBAY may go unnoticed (and likely spread across 30 of the 100's of huge web servers they have). But on ECN and many other web sites, they probably all hit the same server.

HTTP 1.1 does support persistent connections allowing multiple requests per connection. When one is done, another can be sent over the same connection. Additionally, when there are more connections, there is more of a packet flood when they initially start flowing. That can result in short term congestion, some degree of packet loss that has to be restarted (after having used the bandwidth for no value), and possible congestion limiting flow control. A maximum of 4 connections is very reasonable for a website like ECN. I recommend not more than 8. If you see a significant difference between 4 and 8 across most web sites, you need to investigate other issues, such as your ISP losing a percentage of your packets.

SolarPowerd:

So why not take something that exists, like Linux (if GPL is OK for your project), or NetBSD (if GPL would not work for you), and put your own networking logic in there that can handle 100's of concurrent connections from 100's of concurrent users at the same time. Most of the drivers for most common PC devices are already done there for you (though I suppose you might want to tweak the network card drivers). Both have plenty of available applications, support X Windows, and can run Firefox, Apache, and many others.