http2 explained describes the protocol HTTP/2 at a technical and protocol level. Background, the protocol, the implementations and the future. Written by Daniel Stenberg.
This is a "living document" in the sense that I keep posting updates, and I care about and value feedback, questions and comments I get about it. This document improves over time thanks to a joint effort. Full credits to all helpers at the end of the document.
This document has been downloaded more than 200,000 times and has been given praise widely. Give it a shot! It is provided free of charge under a Creative Commons license.
It is being provided in both PDF and web versions.
All the translations are offered if you click the image on the right:
All translations are of course also subject to bug fixes and improvements!
Comment on, add sections, fix typos or correct errors in this document! Submit an issue or a pull-request, or just email email@example.com.
The full document is available on github.
Network capture samples
h2-14-plain-nghttp2.pcapng is a Wireshark capture of curl talking http2 draft-14 in plain text with nghttp2.org.
h2-akamai.zip is a 949KB zip with a bundled SSL key. It is a full stream showing Firefox downloading around 380 different images from the Akamai HTTP/2 demo, thus over HTTPS.
Get Wireshark 2.0 to dissect HTTP/2 frames.
If you have more and better sample stream captures, please send them my way!
HTTP/3 Explained for all details of version 3!