HTTP/3 来啦,你还在等什么?赶紧了解一下

最新文章 114℃

互联网工程任务组(IETF)官员透露,HTTP-over-QUIC实验协议将重命名为HTTP / 3,并有望成为HTTP协议的第三个正式版本。这是由Mark Nottingham的这一原始建议引发的。

下一代HTTP底层协议将弃用TCP协议,改用QUIC技术。不过运营商网络丢UDP包这个问题可能一时半会儿比较难解决。我们玩QUIC路还很长。

IETF中的QUIC工作组致力于创建QUIC传输协议。QUIC是通过UDP完成的TCP替换。最初,QUIC起初是谷歌的努力,然后更多的是“HTTP / 2加密 – UDP”协议。

当IETF中的工作开始标准化协议时,它分为两层:传输和HTTP部分。这种传输协议也可以用于传输其他数据,而不只是显式地用于HTTP或类似HTTP的协议。但是这个名字仍然是QUIC。

社区中的人们已经使用非正式名称如iQUIC和gQUIC来指代这些不同版本的协议,以将QUIC协议与IETF和Google分开(因为它们在细节上差异很大)。通过“iQUIC”发送HTTP的协议长时间称为“hq”(HTTP-over-QUIC)。

那么Quic是什么?

Quic(QuickUDP Internet Connections)是一种新的传输方式,与TCP相比,它减少了延迟。表面上,Quic非常类似于在UDP上实现的TCP+TLS+HTTP/2。由于TCP是在操作系统内核和中间件固件中实现的,因此对TCP进行重大更改几乎是不可能的。然而,由于Quic是构建在UDP之上的,所以它没有受到这样的限制。

Quic在现有TCP+TLS+HTTP 2上的关键特性包括

  • 大大缩短连接建立时间
  • 改进的拥塞控制
  • 无线头阻塞的多路复用
  • 前向纠错
  • 连接迁移

谷歌想要Quic慢慢地取代tcp和udp作为在internet上移动二进制数据的新协议,并且有充分的理由,因为测试已经证明quic是更快和更安全的,因为它的默认加密实现(当前)。http-over-Quic协议草案使用新发布的TLS 1.3协议)。

对TCP与Quic的解释Reddit用户:

TCP是在我们仍然在网络上传输数据包时开发的,网络的丢包量比现在大得多,计算机系统有更长的时间来回答TCP消息。例如,连接到主机的超时时间仍然是20秒,即使如果仅在5秒内无法完成TCP握手,也不太可能得到答案。这些长时间的延迟是网络应用有时陷入长期停滞的原因。尽管我们看到了可靠性和速度上的巨大改进,但自70年代发明该协议以来,我们还没有触及这些延迟。
协议开发人员没有最终减少这些不会改变数据包并与当前TCP实现基本兼容的缺省值,而是刚刚开始使用UDP,然后在其之上实现自己的TCP。向IPv 6的过渡也是将TCP更新到一个版本的理想时机,该版本修复了它所存在的大多数问题,主要是超时、窗口大小和TCP慢启动。有些值可以在您的操作系统中进行调整,但是超时,这是最烦人的一个不能。如果您关闭挂起5秒的TCP套接字,您的操作系统仍将保持打开状态,直到20秒过期,消耗系统资源。

参考链接:

https://daniel.haxx.se/blog/2018/11/11/http-3/HTTP/3

https://medium.com/devgorilla/what-is-http-3-94335c57823f

 

想要阅读更多技术干货文章,欢迎关注网易云信博客

了解网易云信,来自网易核心架构的通信与视频云服务。


网易云信(NeteaseYunXin)是集网易18年IM以及音视频技术打造的PaaS服务产品,来自网易核心技术架构的通信与视频云服务,稳定易用且功能全面,致力于提供全球领先的技术能力和场景化解决方案。开发者通过集成客户端SDK和云端OPEN API,即可快速实现包含IM、音视频通话、直播、点播、互动白板、短信等功能。