连接实验 · 多路复用
一个包丢了,究竟会挡住谁?
把同一组 A、B、C 请求放进三种协议。让 A 变慢,再故意丢一个数据块,观察“应用层按序”“TCP 按序”和“QUIC 独立流”怎样改变完成顺序。
HTTP/1.1 流水线
请求能连续发出,响应仍必须按 A → B → C 返回
响应完成顺序
A → B → C
全部完成
—
主要阻塞范围
后续响应
三条轨道分别显示请求 A、B、C 的请求去程、服务端处理、响应传输与阻塞时间。
请求去程
服务端处理
响应传输
等待 / 阻塞
当前事件
实验还没有开始。先看结果预测,再播放或逐事件推进。
为什么挡在这里
HTTP 层按序HTTP/1.1 流水线没有独立的响应通道。B、C 即使先算完,也不能越过 A 把响应发回。
注意:流水线减少了等待发送请求的时间,却没有消除响应队头阻塞;这也是浏览器很少真正使用 HTTP/1.1 流水线的原因之一。