最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

一个TCP 连接可以发送多少个HTTP请求?

来源:博客园


(资料图片)

一、现代浏览器与服务器建立了一个TCP连接后是否会在一个HTTP请求完成后断开?什么情况下会断开?默认情况下建立TCP连接不会端口,只有再请求报头中声明Connection:close 才会再请求完成后关闭连接二、一个TCP 连接可以对应多少个HTTP请求?一个TCP连接时可以发送多个HTTP请求的三、一个TCP连接中 HTTP请求发送可以一起发送么(比如一起发送三个请求,再三个响应一起接收?)在HTTP/1.1存在 Pipelining 技术,可以完成这个多个请求同时发送,但是由于浏览器默认关闭,所有可以认为这是不可行的。在HTTP2中由于Multiplexing 特点的存在,多个HTTP请求可以在同一个TCP连接中并行进行那么在HTTP/1.1中,浏览器如何提高页面加载效率?1、维护和服务器已经建立的TCP连接,在同一个连接上顺序处理多个和请求。2、和服务器建立多个TCP连接四、为什么有的时候刷新页面不需要重新建立SSL连接?TCP连接有时候会和浏览器和服务端维持一段时间,TCP不需要重新建立,SSL自然也会用之前的五、浏览器对同一HOST建立TCP连接数量有没有限制?有。chorme 最多允许对同一个HOST建立六个TCP连接。不同的浏览器有一些区别。那么回到最开始的问题,收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的呢?如果图片都是 HTTPS 连接并且在同一个域名下,那么浏览器在 SSL 握手之后会和服务器商量能不能用 HTTP2,如果能的话就使用 Multiplexing 功能在这个连接上进行多路传输。不过也未必会所有挂在这个域名的资源都会使用一个 TCP 连接去获取,但是可以确定的是 Multiplexing 很可能会被用到。如果发现用不了 HTTP2 呢?或者用不了 HTTPS(现实中的 HTTP2 都是在 HTTPS 上实现的,所以也就是只能使用 HTTP/1.1)。那浏览器就会在一个 HOST 上建立多个 TCP 连接,连接数量的最大限制取决于浏览器设置,这些连接会在空闲的时候被浏览器用来发送新的请求,如果所有的连接都正在发送请求呢?那其他的请求就只能等等了。

关键词: