三分钟搞懂HTTP/1 HTTP/2 HTTP/3的核心知识点
2021-11-03 本文已影响0人
测试开发Kevin
![](https://img.haomeiwen.com/i20192451/51bf0affb408b7c5.png)
HTTP/1
一次请求-响应,建立一个连接,用完关闭,每一个请求都要建立一个连接(HTTP1有连接无法复用、队头阻塞、协议开销大和安全因素等多个缺陷)。
HTTP/2
多个请求可同时在一个连接上并行执行(多路复用),某个请求任务耗时严重,不会影响到其它连接的正常执行。下面这张图清晰地说明了什么是多路复用。
![](https://img.haomeiwen.com/i20192451/0313c53d6b98b64e.png)
虽然HTTP2通过多路复用、二进制流与 Header 压缩等技术极大地提高了性能。但是当这个TCP连接中出现了丢包的情况,那就会导致 HTTP/2 的表现情况反倒不如 HTTP/1 了。因为在出现丢包的情况下,整个 TCP 都要开始等待重传,也就导致了后面的所有数据都被阻塞了。
HTTP/3
抛弃了TCP 协议,以全新的视角重新设计 HTTP。其底层支撑是 QUIC 协议,该协议基于 UDP,有 UDP 特有的优势,同时它又吸取了TCP 中的精华,实现了即快又可靠的协议。
下面这张图很好的解释了Http1、Http2、Http3的发展历程。
![](https://img.haomeiwen.com/i20192451/a1afa662771d38d5.png)
上图中的HTTPS是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,其中SSL/TLS、TLS1.2+、TLS1.3+都是加密协议!