4. 升级HTTP
花点功夫去改善HTTP协议显然是极好的事情。我们可以着手于以下几个方面:
- 降低协议对延迟的敏感
- 修复pipelining和head of line blocking的问题
- 防止主机需求更高的连接数量
- 保留所有现有的接口,内容,URI格式和结构
- 由IETF的HTTPbis工作组来制定
4.1. IETF和HTTPbis工作组
The Internet Engineering Task Force (IETF)是一个开发和推广互联网标准的组织。他们的重心是在协议层面。他们最出名的工作是制定了TCP、DNS、FTP和它们最佳实践的RFC规范,但HTTP和许多其他协议却进展缓慢。
IETF成立了独立的“工作小组”以便完成某些特定领域内的目标,他们建立了一个“章程”用以制定达到目标的指导方针和规范。在这里,任何人都可以参与讨论和开发,并且每个人有同等的话语权,没人关心你来自哪个公司或组织。
HTTPbis工作组(我们待会儿再解释这个名字)在2007年夏天成立之后就着手于HTTP1.1标准的更新。在组内,关于下一版本HTTP协议的讨论实际上在2012年后期才开始。而HTTP1.1的更新工作在2014年初完成,并被整理成RFC 7320系列。
2014年6月初,HTTPbis工作组名义上的最终版文档会议在纽约召开。而剩下的讨论以及等IETF走完流程通过官方的RFC版本预计在来年完成。
一些HTTP领域的权威缺席了工作组的讨论和会议。我并不想在此提及任何公司和产品。但藉此,现在互联网上也有一些参与者因此获得了更多信心——不需要这些公司参与IETF也能做得很好。。。
4.1.1. 名字中的“bis”
工作组名字中的“bis”来自拉丁语中表示“二”的副词,Bis通常被IETF用作名字的后缀来以表示标准的升级或者一些二次工作,比如这里是针对HTTP1.1。
4.2. 起源于SPDY的http2
SPDY是由Google牵头开发的协议。他们将其开源,使得每个人都可以参与开发。但很明显,他们通过控制浏览器的实现和享用着优质服务的大量用户来获益。
当HTTPbis小组决定开始制定http2的时候,SPDY已经充分证实了它是一个非常好用的方案。当时已经有人在互联网上成功部署SPDY,并且也有一些文章讨论他的性能。因此,http2便基于SPDY/3草案进行一些修改之后发布了http2的draft-00。