front | blog | photos | contact | projects
http2 explained

This document describes http2 at a technical and protocol level. Background, the protocol, the implementations and the future.

Download the PDF (1.2 MB, 31 pages)

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.

Recent Changes

Version 1.8: January 15th, 2015

  • Compressed the images better, leading to a much smaller PDF
  • Updated to draft-16 and hpack-10
  • Replaced several images
  • Linkified many URLs
  • Added a few questions in 8.4
  • Mentions IETF Last Call

Version 1.7: November 18th, 2014

  • Updated to draft-15 details
  • Minor edits

Version 1.6: August 13th, 2014

  • Updated to draft-14 details
  • Firefox Nightly runs with it by default
  • clarified NPN details


Report problems or errors in the document?

If you want to comment or help to fix errors in this document, please email or even better: submit an issue.


The full document is available in libreoffice ODT format from github.

Sample stream

Outdated: curl-h2-12-nghttp2-org.pcapng is a Wireshark capture of curl talking http2 draft-12 in plain text with


The http2 presentation version of the information. Updated on June 12th 2014. It is also available in source format in the github repo.