传输层协议
HTTP/2:基于TCP ,使用二进制分层帧来实现多路复用(多路复用是一种网络通信技术,允许在单个连接上同时传输多个请求和响应,从而提升效率、降低延迟。)
HTTP/3:基于UDP,使用QUIC协议,提供类似TCP的可靠性传输和多路复用
性能和可靠性
HTTP/2:解决HTTP/1.X中队头阻塞问题,但仍然限制于TCP的队头阻塞
在 HTTP/1.1 中,队头阻塞是指:
同一连接上的请求必须串行处理:即使客户端可以并发多个 TCP 连接(如浏览器默认 6~8 个),但每个连接上的请求必须按顺序发送和接收。
如果前一个请求被阻塞(如慢响应或丢包),后续请求必须等待,即使它们本身可以更快完成
HTTP/3:通过QUIC协议,避免队头阻塞,网络环境较差情况下也能提供良好的性能
安全性
HTTP/2:提供TLS加密(HTTPS),但非强制要求
HTTP/3:TLS1.3,安全性更高并且强制
连接速度
HTTP/2:基于TCP三次握手和TLS握手,连接速度较慢
HTTP/3:通过QUIC协议,集成了连接建立和加密握手,连接建立速度更快,尤其是初次建立时