http笔记
udp
- 不保证顺序,会丢包,缺少校验和重发机制,传输快
tcp
- 数据 + udp/tcp头 + ip 头
- 3次握手, 1.5RTT
- TLS,1-2RTT
- 4次挥手 , 2RTT
- 存在TCP丢包导致的队头阻塞问题
- 可能存在握手延迟 (3-4RTT)问题
http
- 减少http1.0多次建联耗时,http1.1引入长链接
- http1.1按顺序请求,导致存在队头阻塞问题
- 大量小碎的文件,存在慢启动问题
- 每个域名6条链接,存在竞争带宽问题
http/2
- 多路复用
- 复用1条长链接,解决慢启动和竞争带宽问题,
- 引入二进制分帧层,实现多路复用,资源并行请求
- 仍存在TCP队头阻塞问题,丢包会影响多路复用,丢包率2%的时候还不如http1.1
Quic协议
- 基于UDP封装,提供流量控制,可靠性,TLS加密,多路复用
- 由于中间设备僵化,丢包率高达3% - 7%