http2讲解

教程说明:

Notice: This is the Simplified Chinese translation of http2 explained. Thank Daniel Stenberg for his great work!

简介

《http2讲解》这篇文档会从技术和协议层面介绍HTTP/2协议(RFC 7540),主要内容包括HTTP/2协议产生的背景、协议本身、实现和未来。原作者为Daniel Stenberg

源地址请访问:

翻译进度

最近更新于2017-03-26。我会用注释形式标记出翻译的不太好地方,如果有童鞋想来帮忙的话,请提PR或者邮件我。

目前第五章和第八章需要深度校对!

主要翻译者

1. 背景

这篇文档会从技术和协议层面来介绍http2。文档起源于2014年4月我在斯德哥尔摩做了一次相关的演讲,在那之后我对演讲内容的细节进行了一些解释和补充,从而写出了这篇文档。

正式版http2规格标准叫做RFC 7540,发布于2015年5月15日:http://www.rfc-editor.org/rfc/rfc7540.txt

如果你有在这篇文章中发现任何我的失误造成的错误或疏漏,请帮我指正。我会在后续版本中修改。

为了让阅读体验更流畅,在这篇文章中我会使用“http2”来指代这一新协议,但请记住该协议的正式名字是HTTP/2。

1.1 关于作者

我的名字叫做Daniel Stenberg,在Mozilla工作。在过去20年,我一直致力于开源事业,参与了多个网络方面的项目。可能我最广为人知的身份是curl和libcurl的首席开发者。同时,我也参与了IETF HTTPbis工作组多年,工作在HTTP 1.1和http2标准化的一线.

Email: daniel@haxx.se

Twitter: @bagder

Web: daniel.haxx.se

Blog: daniel.haxx.se/blog

1.2 帮助我!

如果你在该文档里面发现任何错误、疏漏,请发送给我一份相关段落更改后的版本,我会进行修正并且注明所有对文档有贡献的人!希望能将这份文档变得越来越好。

这篇文档可以在http://daniel.haxx.se/http2下载。

1.3 许可证

这篇文档基于Createive Commons Attribution 4.0发布: http://creativecommons.org/licenses/by/4.0/

1.4 文档历史

该文档的第一版发布于2014年4月25日。下面是最近主要改动的更新历史。

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



温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }