TwKit

推文

@BaiBtw · 2026-10-15 08:43

HTTP 从 1.0 到 3,主要在解决两件事:连接怎么复用,请求别互相堵着。 ① HTTP/1.0(1996):典型方式是一次请求新建一条 TCP 连接,拿完响应就关。下个请求再来一遍握手。 ② HTTP/1.1(1997):连接可以留着反复用,省掉重复建连。但请求仍可能排队;前面的响应没处理完,后面的就得等。浏览器开多条连接能缓解,却没消除这个问题。 ③ HTTP/2(2015):一条 TCP 连接里放多个流,不同请求的数据可以交错传,还能压缩请求头。例如 stream 1、2、3 共用连接,不必整份传完一个才轮到下一个。应用层的队头阻塞缓解了,TCP 层还在:丢包后的等待可能卡住全部流。 ④ HTTP/3:底层换成基于 UDP 的 QUIC。多个流继续共用连接,新建流不必单独再握手;各流独立交付,某个流丢包时,通常不用让其他流陪着等。这里说的是流之间的阻塞,不是丢包从此没有代价。 所以关键变化是:反复建连接 → 复用连接 → 同连接多路复用 → 把流的独立性交给传输层。

曝光 14 · 评论 0 · 点赞 1 · 书签 0

TwKit
正在载入