Http 缺乏TCP连接重用

Http 缺乏TCP连接重用,http,web,tcp,Http,Web,Tcp,当我加载显示的网页时,为什么要为每个图像的HTTP请求打开新的TCP连接?为什么在页面加载期间不重用单个TCP连接?我认为浏览器通常会打开多个连接,以便并行加载内容。另一种可能性是,服务器可能在完成发送图像文件后关闭连接,从而迫使浏览器创建新连接。浏览器还集成了一种称为HTTP管道的技术,其中现有TCP连接用于多个HTTP请求,但问题是所有传入的HTTP响应的顺序应与发送的请求的顺序相同 HTTP管道: 欲了解更多信息,请访问,尽管所引用的大多数理由都是正确的(并且我投了赞成票),即您可能需要

当我加载显示的网页时,为什么要为每个图像的HTTP请求打开新的TCP连接?为什么在页面加载期间不重用单个TCP连接?

我认为浏览器通常会打开多个连接,以便并行加载内容。另一种可能性是,服务器可能在完成发送图像文件后关闭连接,从而迫使浏览器创建新连接。

浏览器还集成了一种称为HTTP管道的技术,其中现有TCP连接用于多个HTTP请求,但问题是所有传入的HTTP响应的顺序应与发送的请求的顺序相同

HTTP管道:


欲了解更多信息,请访问

,尽管所引用的大多数理由都是正确的(并且我投了赞成票),即您可能需要通过不同的连接获取不同的资源,例如一个负载徽标、其他负载页面数据等,并且管道内衬并非总是可能的,而且它尝试并行执行

尽管如此,多个TCP连接的过度使用仍然会影响http的整体速度。这就是为什么谷歌一直在努力加快它的速度,而新的http 2.0模型将使用单个http连接

几天前在hacker news上发布的,基准点非常令人印象深刻,尽管它还有其他一些因素,比如使用较少的字节数作为协议头


是谷歌自己提前发布的

这是离题的。但是,假设一个电话呼叫与TCP连接相同。如果你需要给不同的人打电话(图片),你需要打一个新电话。对于那些将管道内衬与多个tcp混淆的人,请查看以下内容可能有助于清楚地了解情况connections@ErikPhilips从同一站点获取另一个图像不需要新连接。先生,你是说每个选项卡都可能有多个TCP连接,因为选项卡中的每个网页都包含大量要下载的资源/内容?是的,确实如此。即使对于一个非常小的请求,也会使用两个连接,其中一个单独下载徽标。您能给我一个使用管道的实际示例吗?以网页为例??看看这个问答,其中显示了chrome@Subbu我不确定你的问题,管道是在同一个连接中提交多个get请求(而不是相同的数据包,除非它因大小而被分割)。仍然有一个tcp连接。我们在上面讨论的不仅仅是一个tcp连接,它确实用于一个http页面获取。