⽹络和并发—HTTP 1.0/1.1/2.0在并发请求上主要区别是什么?
1.HTTP/1.0
每次TCP连接只能发送⼀个请求,当服务器响应后就会关闭这次连接,下⼀个请求需要再次建⽴TCP连接.
2. HTTP/1.1
默认采⽤持续连接(TCP连接默认不关闭,可以被多个请求复⽤,不⽤声明Connection: keep-alive).
增加了管道机制,在同⼀个TCP连接⾥,允许多个请求同时发送,增加了并发性,进⼀步改善了HTTP协议的效率,
但是同⼀个TCP连接⾥,所有的数据通信是按次序进⾏的。回应慢,会有许多请求排队,造成”队头堵塞”。
3.HTTP/2.0
加了双⼯模式,即不仅客户端能够同时发送多个请求,服务端也能同时处理多个请求,解决了队头堵塞的问题。
使⽤了多路复⽤的技术,做到同⼀个连接并发处理多个请求,⽽且并发请求的数量⽐HTTP1.1了好⼏个数量级。
增加服务器推送的功能,不经请求服务端主动向客户端发送数据。
HTTP/1.1⻓连接和HTTP/2.0多路复⽤的区别?
HTTP/1.1:同⼀时间⼀个TCP连接只能处理⼀个请求, 采⽤⼀问⼀答的形式, 上⼀个请求响应后才能处理下⼀个请求. 由于浏览器最⼤TCP连接数的限制, 所以有了最⼤并发请求数的限制。
HTTP/2.0:同域名下所有通信都在单个连接上完成,消除了因多个 TCP 连接⽽带来的延时和内存消耗。单个连接上可以并⾏交错的请求和响应,之间互不⼲扰。

浙公网安备 33010602011771号