在HTTP 1.0中,我知道一旦浏览器发送新的GET请求,就会建立新的套接字连接。我想知道浏览器是否发送了网站中每个文件的GET请求。例如,我们假设我们有一个包含3个图像文件和index.html文件的静态网站。当我们连接到服务器时,浏览器是否发送了4个单独的请求(也就是4个不同的连接),或者它只连接到网站一次并检索所有内容(也就是说只有1个连接就足够了)?
答案 0 :(得分:1)
如果您在浏览器中打开开发者控制台并查看网络(在Chrome中),则会显示所有请求。它将为每个资源提出单独的请求。此外,如果图像使用20次,将被请求一次并显示20次。尽管所有这些请求都是单独进行的,但它们仍然可以通过与请求相同的连接完成,并且连接不是同一个东西。希望这会给你一些方向。这两个链接可能会为您提供有关服务器连接的更多信息。
https://en.wikipedia.org/wiki/HTTP_persistent_connection https://en.wikipedia.org/wiki/HTTP_pipelining
答案 1 :(得分:1)
如this answer中所述(关于HTTP 1.0 vs 1.1),在v1.0中,每个请求都是在一个单独的连接中发送的,因此,由于缓存机制(是在v1.0中可用),浏览器可能根本不发送任何请求,因此不会打开任何连接。