写点什么

HTTP/2 有哪些值得期待的特性

  • 2014-02-08
  • 本文字数:1711 字

    阅读完需:约 6 分钟

随着 HTTP/2 工作组的工作接近尾声以及新标准的实现开始出现,工作组主席 Mark Nottingham 写了一篇博客对新协议中 9 件值得期待的事情发表了看法:

  1. 使用与 HTTP 相同的 API。就像 Mark 提到的:“要想让 HTTP/2 成功,就必须让它能在现有的 Web 中正常工作。因此我们所做的努力是让现有的 HTTP 更好地工作,而不是去改变这个协议。”尽管也许有机制能让你优化一些新功能,但一般情况下不会有新的方法、header 和状态码。
  2. 更廉价的请求。“HTTP/2 使用多路技术,允许多个消息在一个连接上同时交差,因此一个大的响应(或者一个需要消耗服务器很长时间的响应)并不会阻止其它的响应。此外,它增加了头压缩(header compression),因此即使非常小的请求,其请求和响应的 header 都只会占用很小比例的带宽。这对于移动平台来说,是非常重要的。因为太大的请求 header,再加上页面所需的大量资源经过几个来回后,很可能导致页面加载失败。”
  3. 新协议对网络和服务提供了更友好的设计。“HTTP/2 将使用更少的连接,因此服务器和网络的负载都将减少。这对于越来越拥挤的网络来说具有非常重要的意义。HTTP/1 采用多连接的方式实现并行数据传输,加剧了网络拥挤的问题。”HTTP/2 对每台主机只需一个单独连接,而且只要可能,应尽量将多个网站合并到一台主机上。
  4. HTTP/2 引入了“服务端推(server push)”的概念,它允许服务端在客户端需要数据之前就主动地将数据发送到客户端缓存中,从而提高性能。当然,在某些场景下,客户端可能并不希望这么做,因此 HTTP/2 也允许客户端拒绝。
  5. 当客户端(浏览器)改变主意,不再需要某个请求的响应时,HTTP/1 的客户端只能关闭连接,而新协议则提供了更好的解决办法。“HTTP/2 增加了 RST_STREAM frame ,允许客户端改变主意。当浏览器进行页面跳转或者用户取消下载时,它可以防止建立新连接,避免浪费所有带宽。”
  6. HTTP/2 提供更多的加密支持, Mark 早前的文章说明了其优缺点
  7. 如果你喜欢那些可以监听和人工解析 HTTP 请求和响应的功能,例如使用 telnet 连接服务器,那么你要做好这些功能不再可用的准备。HTTP/1 是基于文本的协议而 HTTP/2 是基于二进制的。“尽管二进制协议的解析具有更小的开销,以及更小的网络消耗,但这个巨大变化的真正原因是二进制协议更简单,因此更少错误,这是它的优点。”Mark 就此进行了讨论,结果表明确实如此。例如,如何界定文本,HTTP/1 的严重缺陷之一是脆弱的安全性。“HTTP/1 的文本特性也导致了一些安全问题。因为不同的实现对于如何解析一条消息有着不同的决定,因此恶意团体能够以某种的方式入侵(例如,通过 response splitting attack )”
  8. 别期望 HTTP/2 能够奇迹般地提升服务端或客户端的性能。“关于新协议,更准确的看法是,它清除了一些制约性能的重要障碍。只有当客户端和服务端都学会了如何以及何时使用它的先进特性,性能才会开始逐渐提升。”正如 Mark 指出的,当今绝大部分网站是基于 HTTP/1 开发的,都不可避免地受其限制。只有经过时间推移,当它们经过重新配置后,才能发挥 HTTP2 所提供的先进特性。“此外,HTTP/2 的网络友好特性的缺点是可能导致 TCP 拥塞控制变得更加突出。因为浏览器对每台主机只建立一个连接,初始窗口和丢包将会更加明显。”
  9. HTTP/2 并不是发展的终点,团队已经在考虑后续的发展。“现在人们非常期待 HTTP/2 正式发布,因此一些高级(和实验性)的特性并没有加入到此版本中。例如推送 TLS 认证和 DNS 条目到客户端,两者都能够提升性能。如果实验顺利的话,也许 HTTP/3 会包含这些。当然,HTTP/3 也可能是个解决所有目前未发现的问题的版本。但到目前为止,信心正在不断地增长。无论是社区发布的 SPDY 的体验,还是 HTTP/2 的各种实现都表明 HTTP/2 已经接近完成了。”

以上这些就是 Mark 对于即将到来的 HTTP/2 的精彩和准确的概览。你觉得这些功能怎么样?哪些会让你有些担心?当它成为主流,你开始使用时,哪些又会让你觉得很兴奋?

查看英文原文: What to Expect From HTTP/2


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-02-08 04:236567

评论

发布
暂无评论
发现更多内容

2025年十大最佳全球社交媒体监测网站

沃观Wovision

社交媒体 沃观Wovision 舆情监测系统 海外舆情监测

为 AI Agent 行为立“规矩”——字节跳动提出 Jeddak AgentArmor 智能体安全框架

火山引擎开发者社区

AI 字节跳动

入门指南:使用 Playwright MCP Server 为你的 AI Agent 赋予浏览器自动化能力

测吧(北京)科技有限公司

零点城市社交电商卡密串码插件:全场景虚拟商品运营解决方案

微擎应用市场

新型电力系统下 MyEMS 微电网协同调度:实践路径与园区落地案例

开源能源管理系统

开源 能源管理系统

非凸科技受邀出席西部证券2025深圳四季度策略会

非凸科技

运维智能体(SRE Agent)技术分级能力要求

乘云数字DataBuff

可观测 #运维 运维智能体

新晋前端技术:小程序容器驱动的 SuperApp 构建实践

xuyinyin

技术复利与全球视野:我为何长期看好追觅科技

慢点科技SlowTech

Hudi系列:Hudi核心概念之文件布局(Storage Layouts)

京东科技开发者

蓝图如何落地:零碳园区建设的五步法

西格电力

能源 绿色能源转型 零碳园区 能源可再生 光伏行业发展

怎么选择好用的国外社交媒体监测平台?

沃观Wovision

社交媒体 沃观Wovision 舆情监测系统 海外舆情监测

Multi Rename Tool for Mac 批量重命名工具

小石头寻母记

MyEMS 驱动工业企业能效跃迁:能耗基线动态校准方法论与实证分析

开源能源管理系统

开源 能源管理系统

活动小程序:数字化活动运营新范式,驱动高效协同与用户参与

深圳亥时科技

构建能交互网页的 AI 助手——基于 Playwright MCP 的完整项目

测试人

软件测试

百度APP日志处理框架升级之路

百度Geek说

大数据 spark 数据治理 数仓重构

从0到1掌握1688API:商品详情获取技巧与避坑指南

tbapi

1688API 1688数据采集 1688商品详情API 1688商品数据分析 1688接口

境外社交媒体监测如何服务好企业

沃观Wovision

社交媒体 海外舆情监控 沃观Wovision 舆情监测系统

浅析cef在win和mac上的适配

京东科技开发者

数字孪生赋能园区能源数字化:MyEMS 的孪生体建模逻辑与全周期管理实践​

开源能源管理系统

开源 能源管理系统

【RFID隧道机选购】如何挑选读率高、误读低的隧道设备?

斯科信息

斯科信息 RFID隧道机

为何零碳园区是未来产业的必然选择?

西格电力

新能源 绿色能源转型 碳中和碳达峰 零碳园区 能源可再生

火山引擎发布 veFusionX:“两行代码” 实现智驾模型训练效率翻倍!

火山引擎开发者社区

火山引擎

利用 OpenTelemetry 集成 JMX 监控

巴辉特

JMX 可观测性 OpenTelemetry Observability

腾讯一面:讲讲Redis常见的数据类型和应用场景

Geek_e3e86e

编程 java面试

Hudi系列:Hudi核心概念之时间轴(TimeLine)

京东科技开发者

Folder Factory for Mac 文件夹图标修改美化工具

小石头寻母记

低代码,打破技术围墙,让业务人员也能“开发”

伤感汤姆布利柏

HTTP/2有哪些值得期待的特性_DevOps & 平台工程_Mark Little_InfoQ精选文章