Skip to content

http1,http2,http3的区别

约 404 字大约 1 分钟

HTTP

2025-06-23

HTTP1

  • 使用文本格式进行通信,易于阅读但效率较低。
  • 每次请求都需要建立一个新的 TCP 连接,导致了较高的延迟
  • 支持管道化,但很少被使用,因为它可能导致队头阻塞问题
  • 不支持多路复用,意味着每个请求都必须等待前一个请求完成才能开始。

HTTP2

基于SPDY:HTTP/2 基于 Google 的 SPDY 协议开发。

  • 使用二进制格式进行通信,提高了数据传输的效率和安全性。
  • 引入了多路复用技术,允许通过单一的TCP连接并行发送多个请求和响应,大大减少了延迟。
  • 支持头部压缩,减少了不必要的数据传输量。
  • 提供了服务器推送功能,让服务器能够在客户端请求之前就主动发送资源到客户端缓存中。

HTTP3

基于QUIC:HTTP/3 使用 QUIC 协议而不是 TCP 作为其底层传输协议。

  • 使用 UDP 而不是 TCP,这减少了连接建立的时间,并提供了更快速的重连能力。
  • 继续支持 HTTP/2 中引入的多路复用特性,但解决了由于网络切换或丢包引起的队头阻塞问题。
  • 提供了更好的加密支持,默认情况下所有 HTTP/3 流量都是加密的。
  • 更快的握手过程,使得初始页面加载时间更短。