1)HTTP1.1

相较于HTTP1.0 将默认连接设置为长连接,这样可以减少连接建立断开的开销,并且可以提高复用性;支持管道,一个请求发送出去无需停下来等待回复,可以继续发第二个;

2)HTTP2

相较于1.1有几个提升,
① 支持压缩头部,在服务端和客户端会同时维护一个头部信息表,在发送请求回复时可以直接发送表的索引,无需发送完整信息,这样可以减少相同头部传输的开销,这也就是所谓的 HPACK 算法;
② 二进制传输,不使用纯文本报文形式,这样的好处是开销更小,虽然不利于人为观察,但有利于机器接收,其中一个报文分为头信息帧和数据帧;
③ 每个请求或回复的所有报文包称为数据流,每个流都有一个编号,解决有序性问题;
④ 一个连接中可以并发多个请求或者回复,也即是多路复用;
⑤ 支持服务端推送,而不是被动回复消息。

3)HTTP3

最大的改进就是使用上UDP来替换TCP,可靠性由基于UDP的QUIC协议来保证,并且使用上了TLS1.3,头部压缩算法升级成QPACK,只需要三次握手即可建立安全连接。