HTTP2.0之战

2009年,Google提议HTTP协议的举动引起了工业界的大讨论。当时的概念叫做 SPDY,时至今日,虽然人们对于Google的动机始终不是很清楚,但是毫无疑问SPDY还没有发现对手。

这周,这种情况也许会发生变化。像微软之前统治世界的方式一样(embrace + extend),他们现在正在着手一项奇怪的战略,推进了一组IETF尚未发布的技术方案,微软称之为下一代HTTP。包括了多路复用多个组件(像SPDY)和一个全时加密的会话层(类似SPDY,但是不依赖于SSL或TLS)。extend 的则暗示了 WebSocket 的应用,一项为下一代Web应用提供的双工通信标准。

网络世界是否需要"S+M”?

微软的介绍性文档中包括下面这一段话:“HTTP at its core is a simple request-response protocol. The [IETF Network] working group has clearly stated that it is a goal to preserve the semantics of HTTP. Thus, we believe that the request-response nature of the HTTP protocol must be preserved. The core HTTP 2.0 protocol should focus on optimizing these HTTP semantics, while improving the transport via a new session layer. Additional capabilities that introduce new communication models like unrequested responses must be treated as an extension to the core protocol, and explored separately from the core protocol.”。

大意是,HTTP的核心是一个请求、应答协议。IETF工作组已经明确表明要保留HTTP的语义,因此我们相信HTTP中请求、应答的本质必须保留下来。HTTP2.0的核心应该聚焦在如何优化这些语义以及通过引入新的会话层来改进传输效率。其他的诸如引入非请求式应答这样的新通讯方式等特性只能作为核心的扩展,与核心协议鲜明的区分开来。

几乎所有的互联网工程师都认为,通过引入包含多路和加密功能的会话层,能够极大地提高Web互动的一致性,降低网络传输的消耗。对于Google的SPDY提议,除了因为使用SSL而造成了的TLS部分大量的修改外,基本上没有太多争议。

如果WebSocket是浏览器阵营一直以来的工作目标,微软在自己的HTTP2.0提案中加入WebSocket的内容究竟意欲何为呢?

上周的早些时候,微软的一位受人尊敬的互动工程师Jean Paoli在一篇博客中指出“HTTP的Speed+Mobility提案起源自Google的SPDY以及业界已经完成的WebSockets基础之上。SPDY在提醒人们注意Web的性能方面以及提升HTTP速度方面的努力令人尊敬,目前主要的问题在于如何使SPDY满足移动设备和应用的需求。”。

有些内容被有意留空

微软此次提案的其他部分看起来更像是一场辩论,而不是一份提案。例如:“There is no 'one size fits all' deployment of HTTP. For example, at times it may not be optimal to use compression in certain environments. For constrained sensors from the 'Internet of things' scenario, CPU resources may be at a premium. Having a high performance but flexible HTTP 2.0 solution will enable interoperability for a wider variety of scenarios. There also may be aspects of security that are not appropriate for all implementations. Encryption must be optional to allow HTTP 2.0 to meet certain scenarios and regulations.”。

关于加密会话层一直以来充满了争议,一些人认为他只应当被用在一些重要的事务上。如果对所有的事务进行加密,那么网络上的嗅探者将毫无作为。微软提议关掉这项特性,指出由此可以减少电力和时间的消耗。类似的争论还有很多,比如人们认为HTTP协议不太适合在设备之间进行通讯,他们建议选用C/S的通讯方式,其中就有微软。

微软真的想促进HTTP协议的进步吗?至少从历史上来看不是这样的。

HTTP 1.0's deficiencies and omissions are legendary, and its usefulness in the modern realm of Web applications has come only with substantive effort. The need to replace HTTP 1.0 was recognized by cooperating members of the IETF from the time the Web began.

But the first, best chance at upgrading HTTP with an object-oriented protocol geared toward apps came and went in 1999. HTTP-NG, as it was called at the time, ceased to be discussed not long after some of its creators were hired into Microsoft Research. A technology that would have enabled Web applications a full decade-and-a-half before the form factors for such apps were even fleshed out, stalled for lack of momentum - all in the interest of "open discussion." There's a danger here that Microsoft's move could cause the latest incarnation of HTTP 2.0 to suffer the same fate.

参考资料:

1、Is Microsoft Challenging Google on HTTP2.0 with WebSocket? 2、SPDY 3、WebSocket 百度百科 4、认识HTML5的WebSocket

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏微信终端开发团队的专栏

关于Android N的那些事

今年3月,Google破天荒提前半年发布了Android N开发者预览版。当然,作为一个不合格的谷粉并没有第一时间体验安装,因为至今仍然能够回忆起来去年今日此门...

2896
来自专栏FreeBuf

解密千万密码:透过密码看人性

对于密码,我们已经知道了不少。比如,多数密码短小、简单、且容易破解。但我们对一个人选择某个密码的心理原因却所知甚少。在本文中,我们分析了包括企业CEO、科学家...

1816
来自专栏码神联盟

高效编程所需要做的那点事

聊聊如果才能高效编程 计划(Plan) 所谓Plan,其实就是对应于编程中的设计阶段,当然,这里的Plan并不像设计那样重量级。它要求我们程序员在正式...

2799
来自专栏张善友的专栏

MS MVC框架漩涡中的MonoRail未来

上个星期,Hamilton向微软MVC团队通报了Castle团队从现实应用中获得的所有复杂和不直观的需求,并告知他们如何处理这些事情。另外他还开发了一些集成案例...

1915
来自专栏帘卷西风的专栏

开源CEGUI编辑器之二(MFC重写的ImagesetEditor)

转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog)

971
来自专栏大数据文摘

去IOE的另外一条路径:全内存数据库弯道超车

1938
来自专栏FreeBuf

一张GIF引发的微信崩溃

今早,朋友发了一个表情给我,看下面,就是这个。。 ? 这不是天线宝宝卖萌系列表情包么,正当我看着俩宝宝撞屁股的GIF图寻开心的时候,微信突然卡死闪退了。。然后我...

3219
来自专栏云加头条

智能云上手指南:如何接入腾讯云的自然语言处理能力?

本文将为广大云开发者介绍如何介入腾讯开放的自然语言处理能力,即文智自然语言处理。

8010
来自专栏大数据文摘

解密千万密码:透过密码看人性

1772
来自专栏北京马哥教育

Linux 内核学习经验总结

学习内核,每个人都有自己的学习方法,仁者见仁智者见智。以下是我在学习过程中总结出来的东西,对自身来说,我认为比较有效率,拿出来跟大家交流一下。

5162

扫码关注云+社区

领取腾讯云代金券