注意:我询问的是出站并发连接限制,而不是入站,这在现有问题上已经得到了充分的说明
现代浏览器通常会打开大量的同时连接,以利用TCP在连接之间共享带宽这一事实。 当然,这不会导致用户之间的公平分享,所以一些服务器已经开始惩罚打开太多连接的主机。 这个限制可以configuration为客户端(例如IE MaxConnectionsPerServer ,Firefox network.http.max-connections-per-server ),但是每个浏览器和版本的方法不同,许多用户无法自行调整。 所以我们转向一个鱿鱼透明的HTTP代理,用于HTTP下载的集中pipe理。
如何从squid到远程web服务器的同时连接数量受到限制,因此web服务器不会将其视为滥用并发连接? 理想情况下,限制将是每个源地址。 Squid应该接受来自客户端浏览器的几乎无限制的并发请求,并将它们顺序地发送到远程服务器,每个服务器一次只有N个,延迟(但不丢弃)其他服务器。
这将需要某种请求队列和进程间通信,这会使得处理请求更慢。 我不知道有任何代理支持这一点。
请注意,大多数用户并没有真正改变浏览器中同时连接的数量,所以这个问题并不是那么不方便。