【发布时间】:2021-02-14 07:37:05
【问题描述】:
我们知道当请求一个网页时,会打开一个TCP连接,请求html页面。
假设,这里打开了 TCP 连接:
192.168.1.2.54587 --- 104.17.23.75.443 (cloudflare)
我们知道,在主HTML页面中,嵌入了很多js文件、css文件和图片。 当请求这些资源时,会打开新的 TCP 连接吗?还是只使用现有的连接?
【问题讨论】:
标签: http tcp httprequest
我们知道当请求一个网页时,会打开一个TCP连接,请求html页面。
假设,这里打开了 TCP 连接:
192.168.1.2.54587 --- 104.17.23.75.443 (cloudflare)
我们知道,在主HTML页面中,嵌入了很多js文件、css文件和图片。 当请求这些资源时,会打开新的 TCP 连接吗?还是只使用现有的连接?
【问题讨论】:
标签: http tcp httprequest
这取决于实际使用的应用程序协议及其配置。对于 HTTP/2 和 HTTP/3(甚至不是 TCP,即它使用 UDP),只要请求的资源位于同一服务器上,就会使用相同的底层连接。
对于 HTTP/1,将创建一个新的 TCP 连接或重新使用现有的 TCP 连接,这取决于现有连接是否可以使用(HTTP 保持活动状态)、是否空闲以及有多少 TCP 连接已用于目标.详细信息也因浏览器而异。
【讨论】: