为什么当我在Chrome浏览器中打开一个网页时,会有多个TCP连接到服务器?

2024-10-16 20:49:18 发布

您现在位置:Python中文网/ 问答频道 /正文

该网站是在SpringBoot中开发的,部署在Linux服务器上。当我在Chrome中打开一个网站页面并打开TCP查看器时,我看到从我的计算机到服务器有多个TCP连接。他们使用完全不同的端口

enter image description here

我检查了ChromeDevTool中的网络选项卡,我看到requst标题中有Keep-Alive。我猜它使用的是Http 1.1和长连接

这让我很困惑。既然是长连接,所有内容都应该通过一个TCP连接,为什么会有这么多TCP连接


Tags: 端口网络服务器标题网站linux部署计算机
1条回答
网友
1楼 · 发布于 2024-10-16 20:49:18

虽然HTTP/1.0和HTTP/1.1支持在同一TCP连接中处理多个HTTP请求的持久连接,但这些请求仍然在同一连接中逐个处理。如果一个站点需要许多资源,那么使用单个TCP连接的顺序加载将太慢。因此,使用多个TCP连接进行并行加载。由于大多数站点加载了许多资源(主HTML、各种CSS、JavaScript、图像、字体等),因此大多数站点都使用了多个TCP连接

使用HTTP/2,支持在单个TCP连接内并行加载。在这种情况下,通常只会看到与站点的单个TCP连接。当然,如果资源是从多个站点加载的(即广告、跟踪…),那么还会再次看到多个TCP连接——但如果特定目的地使用HTTP/2,则每个目的地只会有一个TCP连接

相关问题 更多 >