关键词:http3 新特性
HTTP/3 带来了以下一些核心新特性:
一、基于 QUIC 协议
-
多路复用无队头阻塞:
- HTTP/3 基于 QUIC(Quick UDP Internet Connections)协议,它继承了 QUIC 的多路复用特性。在 HTTP/2 中,虽然也有多路复用,但由于底层使用 TCP 协议,可能会出现队头阻塞问题。而 QUIC 的多路复用在一个连接上可以同时处理多个独立的流,并且各个流之间不会相互影响,即使某个流出现丢包,也不会阻塞其他流的传输。
- 例如,当同时加载一个网页的多个资源时,如果其中一个资源的数据包丢失,在 HTTP/2 中可能会导致整个连接的传输受阻,直到丢失的数据包被重传成功。而在 HTTP/3 中,其他资源的传输不受影响,大大提高了传输效率。
-
快速连接建立:
- QUIC 协议在连接建立方面比传统的 TCP 和 TLS 握手更快。它将 TLS 加密层整合到 QUIC 协议内部,减少了连接建立的往返次数。在首次连接时,虽然也需要一些时间进行密钥交换等操作,但后续连接可以利用之前的连接状态进行快速恢复,实现 0-RTT(Round-Trip Time)或 1-RTT 的连接建立时间。
- 例如,在移动网络环境下,用户频繁切换网络或重新打开应用时,HTTP/3 可以更快地建立连接,减少用户等待时间,提供更流畅的体验。
二、改进的拥塞控制
-
可插拔的拥塞控制算法:
- HTTP/3 允许使用不同的拥塞控制算法,并且可以根据网络环境动态切换。这使得它能够更好地适应各种网络条件,如高延迟、高丢包率的网络环境。
- 例如,在无线网络环境下,可以选择更适合这种环境的拥塞控制算法,提高数据传输的效率和稳定性。
-
更精准的拥塞控制:
- QUIC 协议的拥塞控制机制比 TCP 更加精细。它可以更好地感知网络的拥塞状态,及时调整发送速率,避免网络拥塞的发生。同时,它还可以对不同的流进行独立的拥塞控制,提高整体的网络利用率。
- 例如,当网络出现拥塞时,HTTP/3 可以更快地降低发送速率,避免拥塞进一步恶化。而在网络状况好转时,又能迅速提高发送速率,充分利用网络带宽。
三、增强的安全性
-
内置加密:
- QUIC 协议在设计上就内置了加密功能,从一开始就对数据进行加密传输,提供了更好的安全性。这避免了像 TCP 那样在连接建立后再进行加密协商的过程,减少了安全风险。
- 例如,在网络中传输的数据更难被窃听或篡改,保护用户的隐私和数据安全。
-
前向安全:
- HTTP/3 继承了 QUIC 的前向安全特性。即使一个密钥被泄露,也不会影响之前的通信安全。这意味着攻击者无法通过破解当前的密钥来获取之前的通信内容。
- 例如,如果一个服务器的密钥在某个时间点被泄露,之前通过 HTTP/3 传输的通信内容仍然是安全的,不会被攻击者窃取。