HTTP/1.1 — one request per connection → ~6 parallel sockets и HOL workarounds. HTTP/2 — many streams, one connection, binary + HPACK; TCP HOL не исправлен.
Разбор
HTTP/1.1 limit: one in-flight request per connection. Slow response blocks queue — application HOL. Browsers open ~6 connections per origin; folklore (concat JS, sprites, domain sharding) — dodge that limit.
HTTP/2 unit: one binary connection, many independent streams, interleaved frames:
HTTP/1.1 (per connection) HTTP/2 (one connection)
───────────────────────── ─────────────────────────
[req A]──────► [A1][B1][C1][A2][B2][C2] ← frames interleaved
◄──────[res A] one TCP socket, many streams
[req B]──────► (waits for A) no per-origin 6-connection cap
Same HTTP semantics — methods, status, headers identical. HTTP/2 only changes wire bytes.
Итог
HTTP/2 retires bundling/sharding hacks; TCP HOL — job for QUIC/HTTP/3.