Http2.0与Http1.x的区别

http报文格式

http请求报文格式:
Http2.0与Http1.x的区别_第1张图片
http应答报文格式:
Http2.0与Http1.x的区别_第2张图片

Http2.0

HTTP 1.1 在应用层以纯文本的形式进行通信。每次通信都要带完整的 HTTP 的头,而且不考虑 pipeline模式的话,每次的过程总是像上面描述的那样一去一回。这样在实时性、并发性上都存在问题。

http的三点优势:

  • HTTP 2.0 会对 HTTP 的头进行一定的压缩,将原来每次都要携带的大量 key value在两端建立一个索引表,对相同的头只发送索引表中的索引。
  • HTTP 2.0 协议将一个 TCP 的连接中,切分成多个流,每个流都有自己的 ID,而且流可以是客户端发往服务端,也可以是服务端发往客户端。它其实只是一个虚拟的通道。流是有优先级的
  • HTTP 2.0 还将所有的传输信息分割为更小的消息和帧,并对它们采用二进制格式编码。常见的帧有Header 帧,用于传输 Header 内容,并且会开启一个新的流。再就是Data 帧,用来传输正文实体。多个 Data 帧属于同一个流

通过这两种机制,HTTP 2.0 的客户端可以将多个请求分到不同的流中,然后将请求内容拆成帧,进行二进制传输。这些帧可以打散乱序发送, 然后根据每个帧首部的流标识符重新组装,并且可以根据优先级,决定优先处理哪个流的数据。
Http2.0与Http1.x的区别_第3张图片
HTTP 2.0 其实是将三个请求变成三个流,将数据分成帧,乱序发送到一个 TCP 连接中。
Http2.0与Http1.x的区别_第4张图片

你可能感兴趣的:(计算机网络)