Sharing One Connection
Multiplexing lets many independent requests and responses share a single connection at the same time. Instead of one in flight request per connection, the protocol interleaves frames from many exchanges.
What It Solves
Earlier protocols opened many parallel connections to fetch resources, which was wasteful.
- Each connection paid its own handshake and slow start.
- Browsers limited the number of connections per host, creating queues.
- A slow response could block the connection until it finished.
Multiplexing labels frames with a stream identifier so responses can arrive interleaved and out of order, removing the application level blocking.
The Remaining Catch
Multiplexing over a single ordered transport still suffers transport level head of line blocking, since one lost packet stalls the shared byte stream. The full benefit appears only when the underlying transport isolates loss per stream, as a newer datagram based protocol does.
Key idea
Multiplexing interleaves many requests over one connection using stream identifiers to remove application blocking, but it reaches full benefit only when the transport also isolates packet loss per stream.