使用了 30 年的 HTTP 要抛弃 TCP 使用 UDP 了!

HTTP 协议又叫超文本传输协议。自 1989 年在欧洲核子研究组织(CERN)所发起以来,已经拥有了 30 年的历史。其中在 1999年6月定义了 HTTP 协议中现今广泛使用的一个版本 HTTP 1.1。之后再也没有什么大的改变!直到最近 HTTP 3.0 的制定,才传出 HTTP 将有大的改变!

HTTP 协议在 1.0/1.1/2 版本中都使用 TCP 构建传输层,其特点或者说优点在于可靠性、有序性和纠错性。即连接两端收发信息是依序且能够检查错误,如果收方的数据包有问题,可以再次请求发送。

但是基于 TCP 的 HTTP 协议总是被人们哪里讨论,说性能差、效率低等。于是基于 TCP 的 HTTP 协议被人们讨论了很久,甚至有人建议 Web 应用应该抛弃 HTTP 同时借鉴 P2P 协议来实现。

这些讨论一直伴随着 HTTP 协议的发展,直到谷歌的 QUIC 协议诞生。在今年的 Google 的开发者大会上,Jana Lyengar 向大家介绍说,QUIC 协议已经在 Internet 上占据了7%左右的流量。

QUIC

QUIC(Quick UDP Internet Connection)是专门为HTTP传输层设计的,经过了多年开发之后在 2014 年 Google 开始部署。它主要用于 Chrome 浏览器或是其他 APP 与 Google 服务器之间传输数据,应用之后 YouTube 上的重复缓冲下降了15-18%,Google Search 的延迟也下降了3.6-8%。考虑到这些应用场景已经进行过非常多的优化,QUIC 的效果实在让人难以置信。

于是在新一版的 HTTP 中,有望引入谷歌主导开发的 QUIC 协议(快速UDP网络连接)。QUIC 放弃了 TCP,而使用了同级的 UDP 协议做传输层。

QUIC 目前的优势

  1. 减少了 TCP 三次握手及 TLS 握手时间。
  2. 改进的拥塞控制。
  3. 避免队头阻塞的多路复用。
  4. 连接迁移。
  5. 前向冗余纠错。

QUIC 核心特性连接建立延时低

QUIC 相比 HTTP2 最大的性能优势。

HTTPS 及 QUIC 建连过程

QUIC 由于建立在 UDP 的基础上,同时又实现了 0RTT 的安全握手,所以在大部分情况下,只需要 0 个 RTT 就能实现数据发送,并且 0RTT 的成功率相比 TLS 的 Sesison Ticket 要高很多。

目前根据国外消息,HTTP 的制定小组 IETF 正着手构建 HTTP over QUIC,并且有望成为 HTTP/3。

参考资料

  • QUIC as a solution to protocol ossification
  • QUIC
  • HTTP/3

使用了 30 年的 HTTP 要抛弃 TCP 使用 UDP 了!

: » 使用了 30 年的 HTTP 要抛弃 TCP 使用 UDP 了!

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/252697.html

(0)
上一篇 2022年5月4日 18:15
下一篇 2022年5月4日 18:19

相关推荐

发表回复

登录后才能评论