http2 explained
  • English
    • Background
    • HTTP Today
    • Things done to overcome latency pains
    • Updating HTTP
    • http2 concepts
    • The http2 protocol
    • Extensions
    • An http2 world
    • http2 in Firefox
    • http2 in Chromium
    • http2 in curl
    • After http2
    • Further reading
    • Thanks
  • Español
    • Antecedentes
    • HTTP hoy
    • Estrategias para evitar los dolores de latencia
    • Actualizando HTTP
    • Conceptos de http2
    • El protocolo http2
    • Extensiones
    • Un mundo http2
    • http2 en Firefox
    • http2 en Chromium
    • http2 en curl
    • Después de http2
    • Otras lecturas
    • Agradecimientos
  • فارسی
    • مقدمه و معرفی
    • پیش‌زمینه
    • HTTP امروز
    • کارهایی که برای غلبه بر تأخیرها انجام شده
    • آپدیت‌کردن HTTP
    • مفاهیم http2
    • پرتکل http2
    • افزونه‌ها
    • دنیایی با http2
    • http2 در فایرفاکس
    • http2 در کرومیوم
    • http2 در curl
    • بعد از http2
    • خواندن بیشتر
    • تقدیر و تشکر
    • واژه‌نامه
  • Français
    • Avant-propos
    • HTTP aujourd'hui
    • Rustines pour s'accommoder de la latence
    • Mettre à jour HTTP
    • Concepts http2
    • Le protocole http2
    • Extensions
    • Le monde http2
    • http2 et Firefox
    • http2 et Chromium
    • http2 et curl
    • Après http2
    • Lecture complémentaire
    • Remerciements
  • Italiano
    • Background
    • HTTP oggi
    • Tecniche applicate al contrasto della latenza
    • Aggiornare HTTP
    • http2 a grandi linee
    • Il protocollo http2
    • Estensioni
    • Un mondo di http2
    • http2 in Firefox
    • http2 in Chromium
    • http2 in curl
    • Dopo http2
    • Altre letture
    • Riconoscimenti, Ringraziamenti
  • 日本語
    • 背景
    • HTTPの現状確認
    • レイテンシーの闇を克服せよ
    • もうやめて、HTTP 1.1のライフはゼロよ
    • http2のコンセプト
    • http2プロトコル
    • http2は拡張の夢を見る
    • http2化される世界
    • Firefoxにおけるhttp2
    • Chromiumにおけるhttp2
    • curlにおけるhttp2
    • http2の次にくるもの
    • 参考文献
    • 謝辞
  • 한국어
    • 배경
    • HTTP 현재
    • 대기시간의 고통을 극복하기 위해 한일
    • HTTP 업데이팅
    • http2 컨셉
    • http2 프로토콜 (번역되지 않은)
    • 연장선 (번역되지 않은)
    • http2 세계 (번역되지 않은)
    • Firefox에서의 http2
    • Chromium에서의 http2
    • curl에서의 http2
    • HTTP2 다음에 오는 것
    • 참조
    • 감사의 말
  • Português
    • Antecedentes
    • HTTP Hoje
    • Estratégias para evitar as dores da latência
    • Atualizando HTTP
    • Conceitos de http2
    • O protocolo http2
    • Extensões
    • Um mundo http2
    • http2 e Firefox
    • http2 e Chromium
    • http2 e curl
    • Após o http2
    • Outras leituras
    • Agradecimentos
  • русском
    • История
    • HTTP сегодня
    • Шаги, предпринятые для преодоления задержки
    • Обновление HTTP
    • Концепция http2
    • Протокол http2
    • Расширения
    • Мир http2
    • http2 в Firefox
    • http2 в Chromium
    • http2 в curl
    • После http2
    • Дальнейшее чтение
    • Благодарности
  • Svenska
    • Bakgrund
    • HTTP idag
    • Tricks för att komma över fördröjningssmärtor
    • Uppdatera HTTP
    • http2-koncept
    • http2-protokollet
    • Utökningar
    • En http2-värld
    • http2 i Firefox
    • http2 i Chromium
    • http2 i curl
    • Efter http2
    • Fortsatt läsning
    • Tack
  • Türkçe
    • Arkaplan
    • HTTP'nin Bugünü
    • Gecikmelerin üstesinden gelmek için yapılanlar
    • HTTP'nin güncellenmesi
    • http2 konseptleri
    • http2 protokolü
    • Uzantılar
    • http2 dünyası
    • Firefox'da http2
    • Chromium'da http2
    • curl'de http2
    • http2 sonrası
    • Daha fazla bilgi için
    • Teşekkürler
  • 中文
    • 背景
    • HTTP的现状
    • 那些年,克服延迟之道
    • 升级HTTP
    • http2的观念
    • http2协议
    • 扩展
    • http2的世界
    • Firefox里的http2
    • Chromium里的http2
    • Curl里的http2
    • 后http2时代
    • 扩展阅读
    • 致谢
Powered by GitBook
On this page
  • 1.1 Author
  • 1.2 Help!
  • 1.3 License
  • 1.4 Document history
  • Version 1.13
  • Version 1.12
  • Version 1.11
  • Version 1.10
  • Version 1.9

Was this helpful?

Export as PDF
  1. English

Background

PreviousEnglishNextHTTP Today

Last updated 5 years ago

Was this helpful?

This document describes http2 from a technical and protocol level. It started out as a presentation Daniel did in Stockholm in April 2014 that was subsequently converted and extended into a full-blown document with all details and proper explanations.

RFC 7540 is the official name of the final http2 specification and it was published on May 15th 2015:

All and any errors in this document are my own and the results of my shortcomings. Please point them out and they will be fixed in updated versions.

In this document I've tried to consistently use the word "http2" to describe the new protocol while in pure technical terms, the proper name is HTTP/2. I made this choice for the sake of readability and to get a better flow in the language.

1.1 Author

My name is Daniel Stenberg. I've been working with open source and networking for over twenty years in numerous projects. Possibly I'm best known for being the lead developer of curl and libcurl. I've been involved in the IETF HTTPbis working group for several years and there I've kept up-to-date with the refreshed HTTP 1.1 work as well as being involved in the http2 standardization work.

Email: daniel@haxx.se

Twitter:

Web:

Blog:

1.2 Help!

If you find mistakes, omissions, errors or blatant lies in this document, please send me a refreshed version of the affected paragraph and I'll make amended versions. I will give proper credits to everyone who helps out! I hope to make this document better over time.

This document is available at

1.3 License

1.4 Document history

The first version of this document was published on April 25th 2014. Here follows the largest changes in the most recent document versions.

Version 1.13

  • Converted the master version of this document to Markdown syntax

  • 13: Mention more resources, updated links and descriptions

  • 12: Updated the QUIC description with reference to draft

  • 8.5: Refreshed with current numbers

  • 3.4: The average is now 40 TCP connections

  • 6.4: Updated to reflect what the spec says

Version 1.12

  • 1.1: HTTP/2 is now in an official RFC

  • 6.5.1: Link to the HPACK RFC

  • 9.1: Mention the Firefox 36+ config switch for http2

  • 12.1: Added section about QUIC

Version 1.11

  • Lots of language improvements mostly pointed out by friendly contributors

  • 8.3.1: Mention nginx and Apache httpd specific acitivities

Version 1.10

  • 1: The protocol has been “okayed”

  • 4.1: Refreshed the wording since 2014 is last year

  • Front: Added image and call it “http2 explained” there, fixed link

  • 1.4: Added document history section

  • Many spelling and grammar mistakes corrected

  • 14: Added thanks to bug reporters

  • 2.4: Better labels for the HTTP growth graph

  • 6.3: Corrected the wagon order in the multiplexed train

  • 6.5.1: HPACK draft-12

Version 1.9

  • Updated to HTTP/2 draft-17 and HPACK draft-11

  • Added section "10. http2 in Chromium" (== one page longer now)

  • Lots of spell fixes

  • At 30 implementations now

  • 8.5: Added some current usage numbers

  • 8.3: Mention internet explorer too

  • 8.3.1 Added "missing implementations"

  • 8.4.3: Mention that TLS also increases success rate

This document is licensed under the Creative Commons Attribution 4.0 license:

https://www.rfc-editor.org/rfc/rfc7540.txt
@bagder
daniel.haxx.se
daniel.haxx.se/blog
https://daniel.haxx.se/http2
https://creativecommons.org/licenses/by/4.0/