HTTP/2, HTTP/3 and QUIC
What the modern versions of HTTP change: HTTP/2 multiplexing, QUIC over UDP, connection migration and 0-RTT in HTTP/3, and when each one helps.
- 37 cards
- 3 topics
- Free
The outline, topic by topic
Each topic is weighted the way the exam weighs it.
- HTTP/2
- HTTP/3 and QUIC
- Choosing and deploying
A few cards from the deck
What is HTTP/2?
Show the answer
A binary version of HTTP that multiplexes several requests as parallel streams over one TCP connection, with compressed headers.
One connection is enough for the whole page, instead of six queuing connections in HTTP/1.1.
A page loads 80 small files and, in HTTP/1.1, the browser opens 6 queuing connections. What does HTTP/2 change?
- The files are automatically merged into one
- The server no longer needs TLS
- The files no longer go over TCP
- All requests go in parallel over one connection
Show the answer
All requests go in parallel over one connection
Multiplexing removes the HTTP-level queue; HTTP/2 stays on TCP.
With HTTP/2, should files still be spread across several domains (domain sharding)?
Show the answer
No, it has become counterproductive: it prevents everything from going through one multiplexed connection.
Sharding worked around HTTP/1.1's limit of about 6 connections per domain, which no longer matters.
First HTTP/3 connection: after “QUIC Initial: TLS 1.3 ClientHello”, what is the next message?
- HTTP/3 response on its own stream
- HTTP/2 request over TCP
- QUIC Initial and Handshake: ServerHello and certificate
- Handshake finished and first HTTP/3 request
Show the answer
QUIC Initial and Handshake: ServerHello and certificate
The server proves its identity and sets the keys.