HTTP3协议简介

前     言

IEFT互联网工程任务小组成员Robin Mark在Twitter上发布,经过了5年多的工作,HTTP/3终于被标准化为RFC 9114。与RFC 9204(QPACK报头压缩)和 RFC 9218(可扩展的优先级)一起为Web带来了一个重要的新篇章!很荣幸能成为其中一员。

这是HTTP超文本传输协议的第三个主要版本,完整的RFC超过了20000字,非常详细地解释了HTTP/3。

HTTP3协议简介

QUIC协议

正如IEFT在摘要中所述:

QUIC 传输协议具有 HTTP 传输所需的几个特性,例如多路复用、每个流的流量控制和低延迟连接建立。本文档描述了HTTP语义在QUIC上的映射,还确定了QUIC包含的HTTP/2特性,并描述了如何将HTTP/2扩展移植到HTTP/3。

QUIC(Quick UDP Internet Connection)基于UDP的低时延的互联网传输层协议,是谷歌创建,并在2013年发布出来。谷歌当时为了解决传输控制协议(TCP)需要几握手建立连接后才开始传输数据的问题,那么客户端和服务端相距较远就会产生较长的往返时间,从而影响用户的体验,因此QUIC创作出来,就采用了用户数据报协议(UDP)来传输流量,从而减少了客户端和服务器之间的交互次数,加快了传输速度。QUIC在移动网络上发展上起了很大的作用,加快了移动网络速度,广受关注。

HTTP3协议简介

HTTP/3一些新特性

① 0-RTT

RTT(Round-Trip Time):即往返时延,计算机的一个重要指标,它表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经过的时间。

原有的TCP协议,是三次握手建立起来的连接(即1.5 RTT),就能够开始传输数据了。HTTP/2阶段,即需要先建立链接,还需要加密版本、加密密钥等,TCP+TLS要耗费3 RTT,其中TCP耗费了1.5 RTT,TLS耗费了1.5 RTT。

RRT建立连接图:

HTTP3协议简介

0-RTT是之前连接过的服务器客户端的可能缓存过该链接的某些信息,例如链接ID、链接令牌、链接证书等,继而又与此服务器建立了一个无需再次等待重新握手完成就可以立即传输信息的0-RTT链接,进而可以很大程度的减少建立新链接所需的时间。

② 连接迁移

在Mobile智能装备时代,Mobile装备接入的网络会常常实行切换,TCP 连接协议由四部分组成,分别是源IP、源端口、目的IP、目的端口,切换网络时需要至少改变其中一个要素,比如IP地址有变动,就需要断开连接,然后重新建立连接的过程,这个过程就是TCP三次握手和TLS四次握手的延迟、TCP慢启动的减速过程,由此看来,连接迁移需要很高的成本。而HTTP/3的QUIC允许移动设备更换IP地址,然后再通过连接ID来标记通信的两个端点,客户端和服务器可以各自由一组ID来标记,只需要记录过上下文信息,例如连接ID、TLS密钥等,即可复用原有连接,无重连的成本,没有卡顿感,从而实现了高效连接迁移功能。

③ 无队头阻塞的多路复用

HTTP3协议简介

队头阻塞对比图

HTTP/3优于HTTP/2的多路复用最大的点是,传输的单个数据流能够保证有序交付并且不影响其他的数据流,此特点就解决了TCP此前已存在的问题。QUIC的一个连接上的多个 Stream(HTTP 请求) 之间没有依赖,比如若多个Stream中的一个丢了一个UDP Packet,那么只能影响这一个Stream的接收情况,并不会影响其他Stream的接收,这种特点能够很好的解决队头阻塞问题。QUIC 基本的传输单元就是 Packet,整个加密和认证过程都是基于 Packet 的,并不会跨越多个 Packet,这样就能避免TLS协议存在的队头阻塞问题。

HTTP3协议简介

总   结

HTTP3协议简介

http/2与http/3架构对比图

如图所示,HTTP/3 是基于 HTTP/2 的“升级版”,从 TCP协议更改为 UDP协议。HTTP/3 即保持 QUIC 稳定性,又使用 UDP 来实现高传输速度,加上TLS 的安全性,就保证了连接稳定性、数据包接收顺序及连接安全性。QUIC实际上就是基于UDP协议,再创造了一个更加高效的传输控制协议。

不过,不管怎么说,HTTP/3 进入标准化,也是 HTTP 发展过程中关键的一个里程碑。

HTTP3协议简介

参考文献:

[0] IETF publishes HTTP/3 RFC to take the web from TCP to UDP https://www.theregister.com/2022/06/07/http3_rfc_9114_published

[1] QUIC_百度百科 https://baike.baidu.com/item/QUIC/17341272fr=aladdin

HTTP3协议简介

文章作者:张立群

排版设计:王蔚棋

手绘插画:岳    媛

在看不好意思,那就点个赞吧

原创文章,作者:EBCloud,如若转载,请注明出处:https://www.sudun.com/ask/33774.html

Like (0)
EBCloud的头像EBCloud
Previous 2024年4月2日
Next 2024年4月2日

相关推荐

  • lv高仿女包价格,高防lv包包在哪里

    “——高防LV包”是云服务器行业备受瞩目的产品。这个神秘的名字引起了很多用户的关注,但它到底是什么?它有什么特点和好处?它的技术原理是什么?它适合什么场景?让我们一起来揭开高防LV…

    行业资讯 2024年4月19日
    0
  • 如何使用代理服务器提高网络安全?

    网络安全问题一直是人们关注的焦点,随着科技的发展,网络安全的威胁也日益增加。为了应对这一挑战,许多公司和个人开始使用代理服务器来提高网络安全。那么,什么是代理服务器?它有什么作用和…

    行业资讯 2024年3月30日
    0
  • 如何利用百度搜索引擎提升网站排名?

    想要在网络行业获得更好的发展和曝光,百度搜索引擎是不可或缺的重要工具。它不仅拥有巨大的用户群体,更有着强大的排名影响力。但是如何利用百度搜索引擎提升网站排名?这个问题一直困扰着许多…

    行业资讯 2024年4月11日
    0
  • 如何在云服务器上进行bbs备案?

    云服务器,这个现在备受瞩目的词汇,相信大家都不陌生。它是一种基于云计算技术的虚拟服务器,具有高性能、高可靠性和强大的扩展能力。那么,在这个充满无限可能的云服务器上,如何进行BBS备…

    行业资讯 2024年4月4日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注