一个网页中的所有资产(html文件,js文件,css文件,图像)是通过单个HTTP请求/响应传输的,还是通过多个HTTP请求/响应传输的,每个资产一个? 假设该网页没有XHR。
答案 0 :(得分:3)
网络文档上的所有数字资产都是在单独的HTTP requests上传输的。但是,现代Web服务器和浏览器可以使用与TCP相同的HTTP keep-alive连接。
答案 1 :(得分:2)
从概念上讲,每个资产都是一个单独的请求。实际上,大多数服务器允许浏览器为多个请求重复使用相同的物理套接字连接(但它们仍然一个接一个地发出),这可以显着提高性能(因为您需要额外的往返来建立连接,以后的请求可以捎带前一个请求的ACK:你减少了很多往返次数。)
但是,是的,页面上每个资产总有一个请求/响应。
在具有高延迟的连接(例如澳大利亚 - >美国)上,往返次数可能是一个重要的瓶颈,这就是CSS sprites之类的广泛使用的原因。
答案 2 :(得分:0)
每个资产只有一个请求,但您可以使用多个TCP连接并行发送多个HTTP请求。事实上,所有浏览器都是这样做的。
答案 3 :(得分:0)
我建议您下载Firebug for Firefox,然后在浏览某些网站时观看其“网络”标签。它会回答这个问题,还有更多。