一、HTTP1.1
1、长连接
相比HTTP1.0,HTTP1.1默认支持长连接keep-alive,使用HTTP 流水线技术(HTTP pipelining,也有翻译为管道化连接),它是指,在一个TCP连接内,多个HTTP请求可以并行,下一个HTTP请求在上一个HTTP请求的应答完成之前就发起。
2、分块传输编码
每个非空的数据块之前,会有一个16进制的数值,表示这个块的长度。最后是一个大小为0的块,就表示本次回应的数据发送完了。
二、HTTP2.0
1、二进制分帧
在应用层(HTTP/2)和传输层(TCP or UDP)之间增加一个二进制分帧层。
2、首部压缩
使用HPACK算法进行首部压缩
3、服务器推送
二、HTTP3.0
HTTP3.0,也称作HTTP over QUIC。核心是QUIC(读音quick)协议,由Google在2015年提出的SPDY v3演化而来的新协议,传统的HTTP协议是基于传输层TCP的协议,而QUIC是基于传输层UDP上的协议.
0RTT 建连可以说是 QUIC 相比 HTTP2 最大的性能优势。
这里面有两层含义:
- 传输层 0RTT 就能建立连接。
- 加密层 0RTT 就能建立加密连接。