HTTP协议中的长连接,读完之后,大部分程序员收藏了...( 六 )

并发连接数的数量限制

在web开发中需要关注浏览器并发连接的数量 , RFC文档说 , 客户端与服务器最多就连上两通道 , 但服务器、个人客户端要不要这么做就随人意了 , 有些服务器就限制同时只能有1个TCP连接 , 导致客户端的多线程下载(客户端跟服务器连上多条TCP通道同时拉取数据)发挥不了威力 , 有些服务器则没有限制 。 浏览器客户端就比较规矩 , 限制了同域名下能启动若干个并发的TCP连接去下载资源 。 并发数量的限制也跟长连接有关联 , 打开一个网页 , 很多个资源的下载可能就只被放到了少数的几条TCP连接里 , 这就是TCP通道复用(长连接) 。 如果并发连接数少 , 意味着网页上所有资源下载完需要更长的时间(用户感觉页面打开卡了);并发数多了 , 服务器可能会产生更高的资源消耗峰值 。 浏览器只对同域名下的并发连接做了限制 , 也就意味着 , web开发者可以把资源放到不同域名下 , 同时也把这些资源放到不同的机器上 , 这样就完美解决了 。

容易混淆的概念——TCP的keep alive和HTTP的Keep-alive

TCP的keep alive是检查当前TCP连接是否活着;HTTP的Keep-alive是要让一个TCP连接活久点 。 它们是不同层次的概念 。

推荐阅读