HTTP semantics evolve more slowly than HTTP transport behavior. HTTP/1.1 uses textual messages and traditionally relies on one request/response stream per TCP connection at a time unless multiple connections are used. HTTP/2 introduces binary framing, multiplexed streams, HPACK header compression and prioritization features. HTTP/3 maps HTTP semantics onto QUIC streams.
Remember the shape, not the sentence
“Imagine one restaurant with a single waiter, then one waiter carrying several numbered trays, then several delivery channels that do not block each other behind one missing tray.”
HTTP/1.1
Keep-alive reduces connection setup overhead, but request serialization and multiple connections create limits. Pipelining existed but was rarely used successfully in browsers.
HTTP/2
Frames from multiple streams can share one TCP connection. This improves utilization but the underlying TCP byte stream can still introduce transport-level head-of-line blocking when packets are lost.
HTTP/3
HTTP frames travel over QUIC streams. Loss affecting one stream does not force unrelated streams to wait for the same ordered TCP byte sequence.
See the mechanism before you memorize it
One diagram, one causal story, one reconstruction task.
HTTP/1.1 vs 2 vs 3: multiplexing, streams, QUIC — causal map
HTTP/1.1
Text messages over a TCP byte stream; parallelism often uses several connections.
HTTP/2
Binary frames multiplex many logical streams over one TCP connection.
HTTP/3
HTTP semantics over QUIC streams carried in UDP datagrams.
Shared
Methods, status codes, headers and resource semantics remain recognizably HTTP.
Draw the idea yourself
Rebuild the core flow on a real canvas before moving to the worked walkthrough.
Walk the system
HTTP/1.1
Text messages over a TCP byte stream; parallelism often uses several connections.
HTTP/2
Binary frames multiplex many logical streams over one TCP connection.
HTTP/3
HTTP semantics over QUIC streams carried in UDP datagrams.
Shared
Methods, status codes, headers and resource semantics remain recognizably HTTP.
Result
New versions mostly improve efficiency, multiplexing and transport behavior.
Protocol stack comparison
The same web request can have radically different on-wire transport behavior depending on the negotiated protocol version.
HTTP/1.1 → TCP → IP
HTTP/2 → TCP → IP
HTTP/3 → QUIC → UDP → IPWhat usually goes wrong
Close the tab. Rebuild it from memory.
Read the question, answer aloud, then reveal.
What did HTTP/2 primarily improve?Reveal answer
Efficient framing and multiplexing of many streams over one connection, plus header compression and other performance-oriented features.
Why can HTTP/2 still suffer head-of-line blocking?Reveal answer
All its streams share one ordered TCP byte stream; a lost packet can delay delivery of subsequent bytes.
What transport does HTTP/3 use?Reveal answer
QUIC over UDP.
Make this idea travel.
Connect it next to: tls • devtools • webpage-journey.