[TOC]
1、HTTP/1.1 发展中遇到的问题
1.1、发生的变化
![image-20220813224604630](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813224604630.png)
1.2、高延迟问题
![image-20220813224625917](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813224625917.png)
![image-20220813224836311](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813224836311.png)
1.3、巨大的头部
![image-20220813225004647](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813225004647.png)
1.4、HTTP1.1的优化
![image-20220813225037932](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813225037932.png)
1.5、HTTP/1.1 不支持服务器推送消息
![image-20220813225126902](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813225126902.png)
2、HTTP2特征概述
2.1、提出背景
![image-20220813225242683](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813225242683.png)
- http2协议可以在http协议下,也可以在TLS-SSL协议下使用。
- 浏览器强制要求HTTP2只能被HTTPS解析,也就是使用TLS-SSL协议。
2.2、特性
![image-20220813225444351](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813225444351.png)
![image-20220813225530773](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220813225530773.png)
3、在TCP上从HTTP1升级到HTTP2
3.1、HTTP/2 是不是必须基于TLS/SSL 协议?
![image-20220816210600245](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816210600245.png)
3.2、h2与h2c
![image-20220816210746090](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816210746090.png)
3.3、H2C:不使用 TLS 协议进行协议升级
![image-20220816213310417](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816213310417.png)
![image-20220816213409707](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816213409707.png)
4、h2如何建立会话?
4.1、通讯过程
![image-20220816213628014](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816213628014.png)
![image-20220816213640440](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816213640440.png)
4.2、服务器端选择协议
![image-20220816213815311](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816213815311.png)
5、Stream、Message、Frame 间的关系
5.1、定义
![image-20220816214002799](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816214002799.png)
5.2、Stream、Message、Frame 间的关系
![image-20220816214249616](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816214249616.png)
![image-20220816214702279](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816214702279.png)
5.3、传输中无序
![image-20220816214729430](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816214729430.png)
- 同一个stream必须是有序的
- 跨越stream可以是无序的
![image-20220816214902643](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816214902643.png)
6、帧格式:Stream流ID的作用
6.1、对比websocket
![image-20220816215016793](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816215016793.png)
![image-20220816215110251](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816215110251.png)
6.2、作用
![image-20220816215232321](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816215232321.png)
![image-20220816215240030](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816215240030.png)
![image-20220816215249933](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816215249933.png)
![image-20220816215256014](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816215256014.png)
7、帧格式:帧类型及设置帧的子类型
7.1、定义
![image-20220816215731117](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816215731117.png)
7.2、帧的类型
![image-20220816215758282](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816215758282.png)
![image-20220816215805092](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816215805092.png)
7.3、setting设置帧
![image-20220816215958065](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816215958065.png)
![image-20220816220048816](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816220048816.png)
8、HPACK 如何减少HTTP 头部的大小?
8.1、定义
![image-20220816220720751](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816220720751.png)
8.2、静态字典
![image-20220816220747802](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816220747802.png)
![image-20220816220927312](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816220927312.png)
![image-20220816220843281](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816220843281.png)
8.3、动态字典
动态表包含以先进先出的顺序维护的 header 字段列表。动态表中的第一个条目和最新条目在最低索引处,而动态表的最旧条目在最高索引处。
动态表最初是空的。当每个 header 块被解压缩时,将添加条目。动态表可以包含重复的条目(即,具有相同名称和相同值的条目)。因此,解码器不得将重复的条目视为错误。
编码器决定如何更新动态表,因此可以控制动态表使用多少内存。为了限制解码器的存储需求,动态表的 size 受到严格限制。
解码器在处理 header 字段表示列表时更新动态表。
9、HPACK 中如何使用Huffman树编码?
9.1、原理
![image-20220816221321050](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816221321050.png)
## 9.2、构造过程
![image-20220816221558274](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816221558274.png)
10、HPACK 中整型数字的编码
这里编码的是索引位置,即使下文11章节所说的索引表下标
10.1、小于31
![image-20220816230238907](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816230238907.png)
10.2、大于31
![image-20220816230356798](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816230356798.png)
![image-20220816230421388](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816230421388.png)
![image-20220816230523265](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816230523265.png)
11、HPACK 中HEADER 的编码格式
11.1、HEADER帧的格式
![image-20220816230631593](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816230631593.png)
![image-20220816230701522](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816230701522.png)
11.2、动态表
![image-20220816230731894](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816230731894.png)
11.3、字面编码
![image-20220816230813032](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816230813032.png)
11.4、格式
![image-20220816230857683](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816230857683.png)
![image-20220816231045912](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816231045912.png)
![image-20220816231317892](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816231317892.png)
![image-20220816231327159](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816231327159.png)
![image-20220816231628647](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816231628647.png)
![image-20220816231647378](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816231647378.png)
![image-20220816231657774](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816231657774.png)
11.5、动态表控制
![image-20220816231728498](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816231728498.png)
12、服务器端的主动消息推送
12.1、价值
![image-20220816232717019](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816232717019.png)
![image-20220816232729367](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816232729367.png)
![image-20220816232913454](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816232913454.png)
12.2、帧格式
![image-20220816233032609](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816233032609.png)
12.3 可以禁用
![image-20220816233326240](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816233326240.png)
13、stream的状态变迁
13.1、stream特性
![image-20220816233654866](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816233654866.png)
13.2、message特性
![image-20220816233732465](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816233732465.png)
13.3、发送例子
![image-20220816233807759](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816233807759.png)
![image-20220816233818110](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816233818110.png)
13.4、stream状态的变化
![image-20220816233905535](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816233905535.png)
14、RST_STREAM帧及常见错误码
14.1、定义
![image-20220816234215070](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816234215070.png)
14.2、常见的错误码
![image-20220816234234494](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816234234494.png)
![image-20220816234241382](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816234241382.png)
![image-20220816234247670](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816234247670.png)
15、不同请求的优先级
15.1、Priority 优先级设置帧
![image-20220816234332719](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816234332719.png)
15.2、优先级
![image-20220816234537477](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816234537477.png)
![image-20220816234913183](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220816234913183.png)
16、不同于 TCP 的流量控制
16.1、为什么需要?
![image-20220817205611078](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817205611078.png)
![image-20220817210023672](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817210023672.png)
16.2、如何进行?
![image-20220817210119059](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817210119059.png)
16.3、流量控制帧
![image-20220817210326885](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817210326885.png)
16.4、流控制窗口
![image-20220817210516483](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817210516483.png)
16.5、并发流
![image-20220817210535722](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817210535722.png)
17、HTTP/2 的问题
17.1、TCP 以及 TCP+TLS 建链握手过多的问题
![image-20220817210751019](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817210751019.png)
17.2、多路复用与 TCP 的队头阻塞问题
![image-20220817210827738](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817210827738.png)
17.3、TCP的问题
![image-20220817210845887](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817210845887.png)
18、七层负载均衡做了些什么?
18.1、四层负载均衡
![image-20220817211116912](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817211116912.png)
18.2、七层负载均衡协议转换举例
![image-20220817211157133](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817211157133.png)
18.3、协议转换
![image-20220817211448937](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817211448937.png)
18.4、WAF 防火墙
![image-20220817211544225](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817211544225.png)
18.5、负载均衡算法
![image-20220817211644003](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817211644003.png)
18.6、缓存功能
![image-20220817211702271](/mei_you_ni_dong/doc/raw/d28a0e2515907a818b973d582f73953cfca07ba8/tcp/Web%20%E5%8D%8F%E8%AE%AE%E8%AF%A6%E8%A7%A3%E4%B8%8E%E6%8A%93%E5%8C%85%E5%AE%9E%E6%88%98/assets/image-20220817211702271.png)