1.多路复用:HTTP1.1每次请求响应一次都得建立一次连接,HTTP1.1引入了持久连接Connection:Keep-Alive,可以建立一次连接,进行多次请求响应,但是同一时间只能处理一个请求响应。
2.二进制协议:
HTTP1.1是一个基于文本的协议,方便人类阅读,但是解析起来效率比较低。
HTTP2.0是一个二进制协议,它将请求和响应数据分割为更小的帧,并以二进制的格式进行编码,这使得解析、多路复用和压缩效率更高。
3.头部压缩:
HTTP1.1没有对头部进行特别的压缩,这意味着重复和冗杂的头部信息在每个请求中都会被发送。
HTTP2.0头部信息使用了HPACK压缩算法进行压缩,可以显著减少头部大小,节约带宽资源,降低延迟。
4.服务器推送
HTTP1.1,只能是客户端发起请求,服务器进行响应。
HTTP2.0,服务器可以主动发送资源到客户端,而不需要客户端请求,从而提高页面访问效率。
5.优先级和流控制
HTTP1.1不支持原生的优先级和流控制机制。
HTTP2.0允许设置数据优先级,并提供了流控制机制,从而有效的利用带宽,避免网络拥塞。