连接实验 · 多路复用

一个包丢了,究竟会挡住谁?

把同一组 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 流水线的原因之一。