← Lessons

quiz vs the machine

Platinum1760

Networking

The HTTP2 Stream and Frame

How multiplexing many requests over one connection works.

6 min read · advanced · beat Platinum to climb

From Text Lines to Binary Frames

HTTP one dot one sends one request at a time per connection as text. HTTP version two replaces this with a binary framing layer: messages are split into small frames that interleave on a single connection.

Streams Multiplexed

A stream is an independent, bidirectional sequence of frames carrying one request and its response. Many streams share one connection at once, each tagged with a stream identifier so the receiver can reassemble them.

  • A HEADERS frame begins a message with its header fields.
  • A DATA frame carries body bytes.
  • Frames from different streams interleave freely on the wire.

Solving Head of Line Blocking

Because streams are independent, a slow response no longer blocks others at the HTTP layer, unlike HTTP one dot one where responses must return in order. This is multiplexing without opening many connections.

A Remaining Limit

Multiplexing happens above one TCP connection, so a lost packet still stalls all streams at the transport layer. That residual blocking is what later protocols target.

Key idea

HTTP version two uses a binary framing layer where HEADERS and DATA frames from independent streams interleave over one connection, multiplexing requests and removing head of line blocking at the HTTP layer.

Check yourself

Answer to earn rating on the learn ladder.

1. What is a stream in HTTP version two?

2. What problem does framing and multiplexing solve?

3. What blocking limit remains in HTTP version two?