网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

QUIC和HTTP/3究竟是什么?

更新时间:2026年03月27日   作者:spoto   标签(Tag):

HTTP是互联网的基石,它负责控制各种通信设备之间的信息交换以及资源的获取。简单来说,HTTP使得用户能够访问各种网站。HTTP/3是一种正在研发中的新标准,它将彻底改变在线浏览器与服务器之间的通信方式。这项新标准将显著提升用户体验,包括性能、可靠性和安全性等方面。

QUIC到底是什么?

QUIC的全称是Quick UDP Internet Connections。它是一种通用传输层协议,其目标就是取代传统的传输控制协议(TCP)。QUIC具有高度的灵活性、内置的安全性、出色的性能,以及较高的应用普及率。 QUIC是由谷歌发明的协议。它使用UDP作为底层传输方式,用于在客户端和服务器之间传递数据包。 此外,QUIC还将传输层安全协议(TLS)作为其核心组成部分。 QUIC还被认为具有极高的传输速度,因为它采用了0-RTT和1-RTT的握手机制来传输数据。TCP三路握手机制QUIC能够确保数据传输的更快、更精确。这种稳定性以及高速传输能力,有助于实现更好的拥塞控制功能,同时还能实现数据的重新传输。

HTTP/3究竟是什么?

HTTP/3相比HTTP/2有了显著的改进。HTTP/3旨在实现在各种设备上都能实现快速、可靠且安全的网络连接,从而解决HTTP/2在传输方面存在的问题。为了实现这一目标,HTTP/3采用了一种名为QUIC(快速UDP互联网连接)的独立传输层网络协议。该协议基于用户数据报协议(UDP)进行通信,而之前的版本则使用的是TCP协议。HTTP与TCP不同,UDP支持数据的双向传输,从而解决了“队列阻塞”问题。

QUIC的架构设计

下图展示了QUIC网络的基本架构。QUIC流是逻辑上的对象,它们用于存储HTTP/3请求、响应或应用数据。在网络端点之间传输数据时,这些QUIC流会被包裹在不同的逻辑层中。

快速UDP互联网连接
  • UDP数据报:该数据包包含一个头部,其中包含了源端口和目的端口的信息,以及数据长度与校验和值。在头部之后,还会有一个或多个QUIC数据包。这种数据报形式是由客户端通过网络发送给服务器的信息片段。
    • 源端口:“源端口”是一个长度为2字节的字段,用于标识源的端口号。
    • 目标端口:这是一个长度为2个字节的字段,用于标识目标数据包的端口号。
    • 长度:长度指的是……的长度。用户数据报协议包括头部和数据部分。这是一个16位的字段。
    • 校验和:Checksum是一个长度为2字节的字段。它实际上是UDP头部、IP头部的伪头部以及数据的16位补码形式。在必要时,末尾会添加零字节来使该字段的位数成为偶数。
  • QUIC数据包:QUIC数据包也被称为QUIC数据报,它包含了一个QUIC头部,以及多个QUIC帧(1,2,3……N)。
  • QUIC Haeder:那个QUIC头部是QUIC数据包中的一个重要组成部分,它包含了用于处理数据包、进行路由以及管理端点之间连接的关键信息。
    • 旋转比特:“Spin位”是QUIC头部中的一个标志,用于指示网络中的延迟和拥塞情况。使用“Spin位”的主要目的是为了实现性能监控和调试。
    • 关键词:“Key Phrase”用于标识用于加密数据包的加密密钥。
    • 目标连接ID:“Destination Connection ID”是一个包含在QUIC头部中的识别号码。它用于将传入的数据包定向到接收端相应的QUIC连接上。
    • 数据包编号:数据包编号是QUIC头部的重要组成部分,它为每个在特定连接中传输的数据包分配一个序列号。
  • 框架/结构它包含了流的类型、流ID、偏移量以及流数据。流数据被分布在多个帧中,但可以通过连接ID、流ID和偏移量来构建这些数据块,从而以正确的顺序显示这些数据块。
  • 流媒体播放一个QUIC连接可以支持单向或双向的数据流传输。每个QUIC连接都支持多个独立的流,每个流都有唯一的流ID。

QUIC的速度有多快呢?

QUIC涉及的内容包括:多路复用这使其相对于TCP具有优势。TCP它只使用一个端到端的连接点,而QUIC则会在两个端点之间创建多个连接。 如果其中一条信息传输路径因为连接故障或其他外部干扰而受到破坏,那么其他连接点仍然可以使得信息传输能够继续。 如果某个网站使用TCP协议,而连接失败的话,就可能会导致“队列阻塞”的情况发生。所谓“队列阻塞”,指的是浏览器或客户端必须等待之前的请求完成之后,才能发送新的请求。QUIC协议解决了这个问题,同时还能实现高效、快速的数据传输。

使用 QUIC 和 HTTP/3 带来的好处

  • 多路复用:QUIC+HTTP/3能够提升网络资源的利用率,同时通过多路复用技术来避免“Head of Line Blocking”问题。多路复用允许通过同一连接发送多个请求和响应,从而减少连接开销,提高网络资源的利用效率,进而提升整体性能。
  • 降低延迟:传统的协议,比如TCP,由于连接建立过程存在延迟问题。而QUIC+HTTP/3的多路复用特性使得连接建立更加高效,从而减少了数据传输过程中的延迟。
  • 更快的连接建立速度:QUIC+HTTP/3将TLS握手和加密过程的设置整合到了一个阶段中,从而减少了建立安全连接所需的往返次数。
  • 改进的错误校正功能:QUIC包含了前向纠错算法,这些算法可以帮助恢复丢失的数据包,而无需进行重新传输。这样一来,数据包丢失对性能的影响就可以得到有效的缓解。
  • 迁移支持:QUIC+HTTP/3能够使得在多个网络连接之间无缝切换成为可能,同时不会影响到应用程序的正常运行性能。

QUIC和HTTP/3的局限性

  • 由于 QUIC 不仅会对数据内容进行加密,还会对数据包的大部分元数据进行加密,因此解决网络问题以及优化网络性能变得更加困难。这也就意味着,网络工程师的工作变得更加复杂了。
  • HTTP/3是基于QUIC协议构建的,而QUIC协议本身则带来了一些额外的复杂性。
  • QUIC会进一步加剧网络的集中化趋势。
  • 在服务器端实现HTTP/3功能,需要具备相关的知识和技能。

HTTP/3现在可以使用了吗?

虽然HTTP/3协议仍在开发中,但预计浏览器会支持该协议。因此,网站所有者和使用者可以期待看到HTTP/3的广泛应用。操作系统当然,这个已经被多次实施的标准可能会继续进行进一步的修改。在HTTP/3正式发布之后,整个网络系统并不会立即全部转向使用HTTP/3。许多网站目前还不支持HTTP/2协议。对于新协议来说,一个可能的困难在于:它会增加服务器和客户端两端的CPU使用率。

结论

总的来说,QUIC和HTTP/3在互联网通信协议方面取得了显著的发展。与之前的协议相比,它们提供了更高的性能、更强大的安全性以及更强的灵活性。此外,HTTP/3还具备更低的延迟,并且能够更有效地处理各种网络状况。因此,HTTP/3无疑是未来网络通信的理想选择。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料