原文地址:HTTP1.*与HTTP2.0的区别~
区别如下:
-
新的二进制格式(binary format):HTTP1.*的解析还是基于文本来的,基于文本的协议的格式在解析方面还是存在天然缺陷的,文本的表现形式多样,要做到健壮性需考虑的场景必然很多,二进制则不同,只认0和1的组合,基于这种考虑,HTTP2.0的协议解析采用二进制格式,实现起来方便且健壮。
-
多路复用(multiPlexing):也就是连接共享,每个request都是用的连接共享机制,一个request对应一个ID,如此一个连接上可有多个request,每个连接上的request可随机混在一起,接收方可根据request的ID,将request归属到各自不同的服务端请求里。
-
header压缩:HTTP1.*的header带有大量信息,并且每次访问都需重复发送,HTTP2.0使用encoder来减少需传输的header大小,通讯双方各自cache一份header fields表,如此一来,既可以避免header重复传输&#x