HTTP 2.0 和 3.0 有什么区别?

HTTP2.0 vs HTTP3.0(面试Markdown)

HTTP/2 基于 TCP ;HTTP/3 基于 QUIC协议(UDP),这是最本质区别。

HTTP/2 回顾

  • 传输层:TCP
  • 应用层:二进制帧 + 多路复用
  • 解决了应用层队头阻塞 ,但是 TCP层队头阻塞依旧存在

TCP的问题:一条连接里,某个数据包丢包,TCP会停止所有数据传输,等待丢包重传,同一连接下所有请求全部卡住。

  • 依赖TLS做加密(HTTPS),握手需要:TCP三次握手 + TLS握手,握手RTT开销大。

HTTP/3(QUIC)核心特点

HTTP/3并没有完全抛弃HTTP2的语义,请求响应模型、头部压缩思想保留,底层传输换成QUIC(UDP之上实现)

1. 彻底解决队头阻塞

  • HTTP2:应用层多路复用,但TCP丢包,整个连接全部阻塞等待重传
  • HTTP3‑QUIC:基于UDP,每个流独立。某一个流丢包,只影响当前流,其他流正常收发数据,真正消除队头阻塞。

2. 握手更快(0‑RTT / 1‑RTT握手)

  • HTTP2:TCP 3次握手 + TLS握手,至少2‑3个RTT。
  • QUIC:可以做到1‑RTT完成首次连接 ;历史连接复用支持 0‑RTT,直接发送业务数据,减少握手延迟。

3. 连接迁移

QUIC连接不绑定IP+端口,依靠连接ID标识连接

手机网络切换:Wi‑Fi切4G,IP变了,TCP连接直接断开;QUIC可以继续复用原来连接,不需要重新握手。移动端收益巨大。

4. 内置加密

QUIC把TLS加密内置到协议内部,强制加密,不像HTTP2是TCP+TLS两层拼装。

5. 依然保留HTTP2优秀特性

  • 二进制帧、多路复用、头部压缩(QPACK,HPACK改进版)、流优先级全部保留。

对比表格

对比项 HTTP/2 HTTP/3(QUIC)
底层传输协议 TCP UDP(QUIC)
队头阻塞 解决应用层,TCP层仍然存在 完全消除队头阻塞
握手开销 TCP+TLS,2‑3RTT 首次1‑RTT,复用0‑RTT
连接迁移 不支持,IP变化连接断开 支持,依靠Connection‑ID
加密 TCP之上叠加TLS 协议内置TLS加密
头部压缩 HPACK QPACK
适用场景 PC、Web服务 移动端、弱网、网络频繁切换场景

缺点(面试加分)

  1. UDP经过部分防火墙、运营商设备会被限制,部署普及率不如HTTP2。
  2. UDP没有原生可靠传输,QUIC自己实现重传、拥塞控制,内核没有优化,早期CPU开销较高。

面试口述简短版

HTTP2底层是TCP,虽然通过多路复用解决了应用层的队头阻塞,但是TCP本身丢包会造成整个连接阻塞,握手需要TCP加TLS,RTT开销高,网络切换时连接直接断掉。

HTTP3底层使用QUIC协议跑在UDP之上。它保留HTTP2大部分语义,最大优势是彻底解决队头阻塞,单个流丢包不会影响其他流;握手可以做到0‑RTT加速;支持连接迁移,手机Wi‑Fi切流量不用重连。

缺点是基于UDP,部分网络环境会拦截,目前普及度还不如HTTP2。

相关推荐
丶浅行DE时光1 小时前
管道式电磁流量计选型指南 介质腐蚀与工况适配方案推荐
大数据·网络·人工智能·科技·推荐算法
段一凡-华北理工大学2 小时前
高炉智能布料技术与炉料分布优化~系列文章03:布料矩阵解码:环位、角度、圈数与料流的量化控制
java·网络·人工智能·矩阵·高炉智能化·高炉布料矩阵优化·高炉智能布料技术
云飞云共享云桌面4 小时前
医疗器械设备研发:多人同时操作 SolidWorks,怎样依靠单台服务器替代多工作站
运维·服务器·网络·数据库·制造
Sylvia33.5 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
鼹鼠SDN8 小时前
没有公网 IP,如何在外面访问家里的打印机、摄像头和整个局域网?
网络·网络协议·tcp/ip
小诗懂技术10 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络
DM今天肝到几点?12 小时前
AI 安全进入「攻防同频」:Gemini 3.8 Flash Cyber 上线、Astra 触及关键级、HiddenLayer 融资 1 亿美元
网络·人工智能·深度学习·安全·语言模型·开源·知识图谱
幼儿园蛋小黑13 小时前
TCP 并发:从原理到高并发实践
网络·网络协议·tcp/ip
我爱cope15 小时前
【计算机网络 | 网络层11:ICMP 协议:Ping 和 Traceroute 的底层原理】
网络·学习·计算机网络