RFC 9113 / START HERE
HTTP/2, before the details
HTTP/2
HTTP means Hypertext Transfer Protocol. HTTP/2 carries multiple request and response streams over one TCP connection using binary frames.
The idea in one picture
A browser makes several requests
HTTP/2 shares a TCP connection
Responses use separate streams
A simplified picture of the idea; the chapters explain the actual mechanisms.
Why it exists
A web page can need many resources. Sharing one connection helps avoid treating every exchange as a separate connection.
A familiar example
A browser requests a page, styles, and images on separate HTTP/2 streams within one connection.
Helpful background
You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.
What you’ll learn next
Begin with chapter one, or choose a topic.
- Connection prefaceBoth peers establish HTTP/2 state before exchanging ordinary requests.→
- Multiplexed streamsFrames for several exchanges share a connection, with stream identifiers keeping their state separate.→
- Frames and compressed fieldsA nine-octet frame header identifies length, type, flags, and stream.→
- Receiver flow-control creditDATA must fit both the stream window and the connection window.→
- Reset and graceful shutdownA broken stream and a broken connection require different signals.→
This introduction explains RFC 9113 (2022). Read the original RFC ↗