http explained front | FAQ | changelog | presentations
http2 explained

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 140,000 times and has been given praise widely. Give it a shot! It is provided free of charge under a Creative Commons license.


Spanish by Javier Infante

French by Olivier Cahagne

Russian by Vladimir Lettiev

Chinese by Calvin Zhang and Simon Xia.

Ebook versions

Download from here []

Errors in the document?

Comment on or help me fix errors in this document! Email or even better: submit an issue.


The full document is available in libreoffice's FODT format from github.


h2-14-plain-nghttp2.pcapng is a Wireshark capture of curl talking http2 draft-14 in plain text with 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.

You need Wireshark 1.99.x (a dev version) to dissect HTTP/2 frames.

If you have more and better sample stream captures, please send them my way!

This page was updated August 27, 2015.