一、背景
HTTP2入门 这篇文章我们讲了采用多路复用技术来实现一个TCP连接承载多个HTTP并行请求,但它具体是如何实现的呢,因为HTTP2的多路复用是gRPC高性能最主要的原因之一,下面我们就来详细了解一下
二、HTTP2多路复用基本原理
1、帧
HTTP2在HTTP1基础上引入了二进制分帧层,数据封包给下层协议之前将数据打散成更小的帧并以二进制的方式进行编码传输。
帧结构
2、流
流是一个虚拟的概念,我们把一次请求/响应中,拥有同一流标识符的所有帧抽象成一个流。
在流的层面数据是有序的,但在TCP层面数据是无序的。将多个HTTP消息分解为互不依赖的帧,