单车棚

  下载本文的PDF版本 PDF

HTTP/2.0 — IETF 在敷衍了事

糟糕的协议,糟糕的政治


波尔-亨宁·坎普

很久以前——在1989年——罗纳德·里根是总统,尽管只是他任期的最后19天半。在1989年结束之前,泰勒·斯威夫特已经出生,安德烈·萨哈罗夫和塞缪尔·贝克特已经去世。

从长远来看,1989年最令人难忘的事件可能将是蒂姆·伯纳斯-李编写了HTTP协议,并将结果命名为“万维网”。(这个名字的一个显著特点是,缩写“WWW”的音节是其两倍,并且发音时间更长。)

蒂姆的HTTP协议运行在10Mbit/s的以太网和同轴电缆上,他的电脑是一台主频为25MHz的NeXT Cube。二十六年过去了,我的笔记本电脑CPU速度快了一百倍,RAM是蒂姆的机器的千倍,但HTTP协议仍然相同。

几天前,互联网工程指导小组IESG就新的“HTTP/2.0”协议 (https://tools.ietf.org/id/draft-ietf-httpbis-http2) 征求“最后征询”意见,然后将其批准为“提议标准”。

期望各有不同

有些人会期望对世界上最流行的协议进行重大更新,使其成为技术杰作,并成为未来协议设计学生的教科书范例。有些人会期望在斯诺登事件披露期间设计的协议将改善他们的隐私。另一些人则会更愤世嫉俗地怀疑情况恰恰相反。可能会普遍认为它“更快”。许多人可能还会认为它“更环保”。我们中的一些人已经厌倦到看到“2.0”并嘟囔“糟糕,第二系统综合症”。

速查表答案是:否,否,可能不是,也许,否和是。

如果这听起来不尽如人意,那是因为它确实如此。

HTTP/2.0 不是技术杰作。它存在分层违规、不一致、不必要的复杂性、糟糕的妥协、错失了很多成熟的机会等等。如果学生在我的(假设的)协议设计课上提交它,我会让他们不及格。HTTP/2.0 也不会改善您的隐私。将 HTTP/2.0 包装在 SSL/TLS 中可能会或可能不会改善您的隐私,就像将 HTTP/1.1 或任何其他协议包装在 SSL/TLS 中一样。但 HTTP/2.0 本身并没有做任何事情来改善您的隐私。这几乎是三重讽刺,因为 HTTP 的主要拖累是 cookie,cookie 是一个主要的隐私问题,以至于欧盟已立法对其提出通知要求。HTTP/2.0 本可以废除 cookie,而是用客户端控制的会话标识符取而代之。这将让用户完全掌控他们何时希望被跟踪,何时不希望被跟踪——这是隐私方面的重大改进。它还将节省带宽和数据包。但提议的协议并没有这样做。

好消息是 HTTP/2.0 可能也不会降低您的隐私。它确实为服务器端增加了一些“指纹识别”的机会,但是已经有很多方法可以通过 cookie、JavaScript、Flash 等进行指纹识别,所以这可能无关紧要。

您可能会觉得使用 HTTP/2.0 加载网页更快,但这可能仅在内容提供商拥有全球服务器网络的情况下才成立。所涉及的各个计算机(包括您自己的计算机)将不得不做更多的工作,特别是对于高速和大对象,如音乐、电视、电影等。没有人演示过接近当前线路速度的 HTTP/2.0 实现。更快?不尽然。

这也回答了关于环境足迹的问题:HTTP/2.0 将比 HTTP/1.1 需要更多的计算能力,从而导致二氧化碳污染加剧,加剧气候变化。您可能会认为,一个旨在用于数千万台计算机的协议将成为某种绿色审查的主题,但令人惊讶的是——至少对我而言——我一直未能找到任何证据表明 IETF 考虑过环境影响——哪怕一次。

是的,第二系统综合症很严重。

鉴于这份相当平庸的成绩单,您可能会想知道为什么 HTTP/2.0 甚至首先被考虑作为标准。

答案是政治

谷歌提出了 SPDY 协议,由于他们有自己的浏览器,他们可以随意发挥,根据他们的特定需求优化协议。SPDY 是一个非常好的原型,它清楚地表明新版本的 HTTP 协议有改进的潜力。为此,向谷歌致敬。但 SPDY 也开始让一些人,更重要的是其他公司,闻到“围墙花园”的味道,政治浮出水面。

IETF 显然害怕变得无关紧要,匆忙“发现”HTTP/1.1 协议需要更新,并责成一个工作组在不切实际的短时间内准备它。这排除了除 SPDY 协议之外的任何新 HTTP/2.0 的基础。仅去除了 SPDY 最丑陋的瑕疵,并且所有其他改进尝试都被拒绝,理由是“不在范围内”、“太晚”或“没有共识”,IETF 现在可以通过让步几乎所有曾经珍视的原则来换取为谷歌的倡议盖章的特权,从而声称具有相关性和胜利。

但政治并没有止步于此。

HTTP/2.0 没有改善隐私的原因是,大型企业支持者将其商业模式建立在缺乏隐私的基础之上。他们对 NSA 监视全世界几乎所有人感到非常不安,但他们不想做任何阻止他们做同样事情的事情。HTTP/2.0 的支持者也在试图将其用作“SSL 无处不在”议程的杠杆,尽管事实上许多 HTTP 应用程序不需要、不希望甚至可能被法律禁止使用加密。

您的国家、州或县的紧急情况网页?

当发生爆炸、河流洪水或人们中毒时,地方政府不希望花费资源与他们所在地区的每部智能手机协商 SSL/TLS。大型新闻网站也同样优先考虑能够传递新闻,而不是能够隐藏他们正在传递新闻的事实,尤其是在发生重大事件时。(IETF 中的每个人都忘记了 14 年前 CNN 的指数级流量图了吗?)

所谓的“多媒体业务”约占网络上所有流量的 30%,表示不希望被迫将资源花费在毫无意义的加密上。甚至有些人被法律禁止拥有通信隐私:儿童、囚犯、金融交易员、CIA 分析师等等。然而,尽管如此,HTTP/2.0 将仅支持 SSL/TLS,在至少四分之三的主要浏览器中,以强制推行特定的政治议程。具有讽刺意味的是,同样的浏览器将自签名证书视为致命危险,尽管事实上它们以微不足道的成本提供了保密性。(保密性意味着只有您和另一方可以解码正在通信的内容。隐私是与已识别或已验证的另一方的保密性。)

历史已经充分表明,如果您想让世界变得更美好,您应该提供使其变得更好的好工具,而不是使其变得更好的政策。我建议任何在此事上有发言权的人都对 HTTP/2.0 草案标准投反对票:它不是一个好的协议,甚至不是好的政治。

喜欢它,讨厌它?请告诉我们

[email protected]

波尔-亨宁·坎普 ([email protected]) 是 FreeBSD 操作系统的主要开发者之一,他从一开始就参与了该系统的工作。他因其基于 MD5 的密码加扰器而鲜为人知,该加扰器保护了 Cisco 路由器、Juniper 路由器以及 Linux 和 BSD 系统上的密码。有些人注意到他编写了一个内存分配器、一个设备文件系统和一个实际上可用的磁盘加密方法。坎普与他的妻子、儿子、女儿、大约十几台 FreeBSD 计算机以及世界上最精确的 NTP(网络时间协议)时钟之一住在丹麦。他以独立承包商的身份谋生,从事与计算机和网络相关的各种工作。

© 2015 1542-7730/15/0100 $10.00

另请参阅

使用 HTTP 2.0 加快 Web 速度
HTTP 继续发展
- 伊利亚·格里戈里克
HTTP(超文本传输协议)是互联网上最广泛使用的应用协议之一。自发布以来,RFC 2616 (HTTP 1.1) 已成为互联网空前增长的基础:数十亿各种形状和尺寸的设备,从台式电脑到我们口袋里的小型 Web 设备,每天都使用 HTTP 来传递新闻、视频和数百万其他我们日常生活中都已依赖的 Web 应用程序。

更好、更快、更安全
谁掌控着互联网的未来?
- 布赖恩·卡彭特
自从我于 2005 年 3 月开始担任 IETF(互联网工程任务组)主席以来,我经常被问到“接下来会发生什么?”,但我通常拒绝回答。没有人掌控互联网,这是一件好事,但这使得预测变得困难(这也解释了为什么本文开头有一个免责声明:它仅代表我个人的观点,不代表我在 IBM 或 IETF 的同事的观点)。

软件行业就是问题所在
软件责任法的时候到了。
- 波尔-亨宁·坎普
一百零七年前,肯·汤普森提出了一个新的问题,这个问题的产生源于思考,并且致力于这样一个命题:那些信任计算机的人陷入了困境。

acmqueue

最初发表于 Queue 第 13 卷,第 2 期
数字图书馆评论本文





更多相关文章

尼克拉斯·布鲁姆、塞尔日·拉夏佩尔、哈拉尔德·阿尔韦斯特兰 - WebRTC - 开放 Web 平台的实时通信
在这个疫情时期,世界比以往任何时候都更多地转向基于互联网的 RTC(实时通信)。在过去十年中,RTC 产品的数量激增,这在很大程度上是由于更便宜的高速网络接入和更强大的设备,但也因为一个名为 WebRTC 的开放、免版税平台。WebRTC 正在从实现有用的体验发展到在疫情期间对于数十亿人继续工作和教育,并保持重要的人际交往至关重要。WebRTC 未来的机遇和影响确实令人着迷。


本杰明·特雷诺·斯洛斯、希拉贾·努卡拉、维韦克·劳 - 重要的指标
衡量您的站点可靠性指标,设定正确的目标,并努力准确地衡量这些指标。然后,您会发现您的服务运行得更好,停机时间更少,用户采用率更高。


西尔维娅·埃斯帕拉基亚里、坦尼娅·雷利、阿什利·伦茨 - 跟踪和控制微服务依赖关系
如果您曾经将钥匙锁在屋里或车里,您就会熟悉依赖循环。没有钥匙您就无法打开锁,但是不打开锁您就无法拿到钥匙。有些循环是显而易见的,但是更复杂的依赖循环可能难以在导致中断之前找到。跟踪和控制依赖关系的策略对于维护可靠的系统是必要的。


迪普塔努·贡·乔杜里、蒂莫西·佩雷特 - 为互联网规模的服务设计集群调度器
希望构建调度系统的工程师应考虑他们使用的底层基础设施的所有故障模式,并考虑调度系统的操作员如何配置补救策略,同时帮助在租户系统所有者进行故障排除期间尽可能保持租户系统的稳定。





© 保留所有权利。

© . All rights reserved.