当请求HTML页的资源时会打开新的TCP连接?

When request the resources of HTML page will open new TCP connections?

我们知道请求网页时,会打开一个TCP连接,请求html页面。

有一个例子:

假设,打开TCP连接:

192.168.1.2.54587   ---   104.17.23.75.443 (cloudflare)

我们知道,在 HTML 主页面中,有很多 js 文件,css 文件和图像嵌入其中。 当请求这些资源时,会打开新的 TCP 连接吗?还是只使用现有连接?

这取决于实际使用的应用程序协议及其配置。使用 HTTP/2 和 HTTP/3(甚至不是 TCP,即它使用 UDP),只要请求的资源在同一台服务器上,就会使用相同的底层连接。

使用 HTTP/1 时,将创建一个新的 TCP 连接或重用现有连接,具体取决于现有连接是否可以使用 (HTTP keep-alive)、是否空闲以及有多少 TCP 连接已经习惯了目标。详细信息也是特定于浏览器的。