【问题标题】:What is the relationship between the different WebSocket protocol versions?不同的 WebSocket 协议版本之间有什么关系?
【发布时间】:2012-03-18 01:39:08
【问题描述】:

我最近了解到有大量的 WebSocket 协议规范(其中一组名为 hixie-,另一组名为 hybi-,最后是 RFC 6455)。

我认为 hixie- 和 hybi- 是以前的草案,并且 RFC 是所有实现最终会融合的“最终决定”。然而,我惊讶地发现 RFC 是从 2011 年 12 月开始的,而最新的 hybi-* 是从 2012 年 2 月开始的。

有人可以解释一下吗?所有这些分支的历史发展是什么,未来的路线图是什么?

顺便问一下,那些有趣的名字(hixie 和 hybi)代表什么吗?

【问题讨论】:

    标签: version websocket protocols


    【解决方案1】:

    “Hixie”源于 Ian Hickson ian@hixie.ch .. WebSocket 协议的原始提议者/作者。

    “Hybi”源于“hy_pertext bi_directional”.. IETF 工作组“BiDirectional or Server-Initiated HTTP (Active WG)”。

    最新和最终的 RFC 是 RFC6455。请务必执行。

    Hixie-75/76 是已弃用、存在安全缺陷的过时版本,已使用了一段时间。

    Hybi-Draft-N .. 其中 N 是 .., 10, .., 18 标志着从 RFC 草案开发最终 RFC 期间协议的修订。

    Everything >= Hybi-10 只是最终 RFC6455 的小变种。

    简而言之:阅读并实施https://www.rfc-editor.org/rfc/rfc6455,你会没事的。

    【讨论】:

    • 还知道工作组已经重新调整以讨论协议的扩展,因此如果您从头开始实施一个,那么了解工作组在每帧压缩方面的发展方向是值得的,多路复用扩展等。尤其是多路复用器可以对实现的编写方式产生强烈影响
    • 一些澄清:“安全漏洞”有点夸大了。确实,这是对行为不端的 HTTP 中介的担忧,而 WebSockets 正在超越并避免混淆它们并成为针对那些损坏的中介的另一个攻击媒介(它们的存在也是理论上的)。当前的 iOS 仅支持 Hixie-76,因此如果您想支持当前的 iPhone/iPad,您还需要在服务器上支持 Hixie-76。
    • 你对 iOS 的看法:它是唯一的(主要)平台,目前没有浏览器 > Hixie-76(原因是:不能安装第 3 方浏览器,内置浏览器只讲Hixie-76,内置浏览器不支持Flash,排除回退到WS flash bridge)。还有一条评论:WebKit Nightly 从 2012 年 3 月开始就支持 RFC6455。因此,如果它进入 Safari Mobile 并且旧的 iOS 设备得到更新,那么它可能会在不久的将来出现。
    • 关于安全漏洞:我不同意。你是对的,安全漏洞是由中间人造成的,但亚当巴特证明了它们。但这是一个涉及的问题。无论如何:对于感兴趣的读者,这里是背景信息,您可以自行判断:* ietf.org/mail-archive/web/hybi/current/msg04744.html * adambarth.com/experimental/websocket.pdf
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 2017-04-20
    • 2020-02-04
    • 2010-12-11
    • 2015-07-22
    • 2021-08-12
    • 2021-02-05
    相关资源
    最近更新 更多