🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# HTTP/3与HTTP/2的比较 HTTP/3面向QUIC设计,QUIC是一个自己处理数据流的传输层协议。 HTTP/2面向TCP设计,因此数据流在HTTP层处理。 ## 相似之处 这两个协议为客户端提供了几乎相同的功能集。 - 两者都提供数据流 - 两者都提供服务器推送 - 两者都有头部压缩,QPACK与HPACK的设计非常类似 - 两者都通过单一连接上的数据流提供复用 - 两者都提供数据流的优先度设置 ## 不同之处 两个协议的主要不同点在于细节,不同之处主要由HTTP/3使用的QUIC带来。 - 得益于QUIC的0-RTT握手,HTTP/3可以提供更好的早期数据支持,而TCP快速打开和TLS通常只能传输更少的数据,且经常存在问题。 - 得益于QUIC,HTTP/3的握手速度比TCP+TLS快得多。 - HTTP/3不存在明文的不安全版本。尽管在互联网上很少见,HTTP/2还是可以不配合HTTPS来实现和使用。 - 通过ALPN拓展,HTTP/2可以直接在TLS握手时进行协商。HTTP/3基于QUIC,所以需要凭借响应中的 `Alt-Svc:` 头部来向客户端宣告。