637 字
3 分钟
HTTP/1.0、HTTP/1.1、HTTP/2 与 HTTP/3 有什么区别
  1. 1计算机网络学习路线与文章导读
  2. 2网络分层模型与数据封装是怎么回事
  3. 3TCP/IP 四层模型与 OSI 七层模型
  4. 4IP 地址与 CIDR 子网怎么理解
  5. 5ARP 是什么?主机如何找到目标 MAC 地址
  6. 6IP 路由与默认网关是如何工作的
  7. 7TCP 和 UDP 有什么区别?如何选择
  8. 8TCP 握手、挥手和丢包重传分别解决什么问题
  9. 9TCP 三次握手与四次挥手
  10. 10TCP 流量控制和拥塞控制有什么区别
  11. 11TCP 为什么可靠:流量控制、拥塞控制与局限性
  12. 12TCP 丢包、粘包和拆包是什么
  13. 13HTTP/1.0、HTTP/1.1、HTTP/2 与 HTTP/3 有什么区别本文
  14. 14HTTP 请求包含哪些内容
  15. 15HTTP 中 GET 和 POST 有什么区别
  16. 16HTTP 方法的安全性与幂等性怎么区分
  17. 17HTTP 状态码与网络故障如何区分排查
  18. 18常见 HTTP 状态码与网站故障排查
  19. 19HTTP 和 HTTPS 有什么区别
  20. 20谈谈对 DNS 和 CDN 的理解
  21. 21从输入网址到网页显示发生了什么
  22. 22TCP 的 TIME_WAIT 状态有什么作用
  23. 23TCP 的 CLOSE_WAIT 状态是什么,过多如何排查
  24. 24TLS 1.3 握手过程是什么
  25. 25HTTPS 如何校验证书
  26. 26HTTP 强缓存和协商缓存怎么工作
  27. 27HTTP Keep-Alive 是什么,连接如何复用
  28. 28WebSocket 和 HTTP 有什么区别
  29. 29服务端如何解析 HTTP 请求的数据
  30. 30NAT 是什么?端口映射如何实现
  31. 31ICMP、ping 和 traceroute 分别做什么
  32. 32网络故障如何分层排查
  33. 33Cookie、Session、Token 与 JWT 有什么区别
  34. 34常见的登录鉴权方式有哪些
  35. 35什么是 SYN Flood 攻击

HTTP/1.0 和 HTTP/2.0 有什么区别#

HTTP/1.0 和 HTTP/2.0 的主要区别有以下几点:

第一,连接管理:HTTP/1.0 默认每次请求完成后关闭 TCP 连接,而 HTTP/2.0 支持在同一个 TCP 连接上复用多个请求。

第二,多路复用:HTTP/1.0 不支持多路复用,HTTP/2.0 可以让多个请求的数据流在同一个 TCP 连接中交错传输,提高并发效率。

第三,数据传输格式:HTTP/1.0 使用文本格式,HTTP/2.0 使用二进制分帧。

第四,头部压缩:HTTP/2.0 使用 HPACK 压缩请求和响应头部,减少数据传输量。

第五,服务器推送:HTTP/2.0 协议支持服务器主动推送资源,而 HTTP/1.0 不支持。

总的来说,HTTP/2.0 主要通过多路复用、二进制分帧和头部压缩,提高了 HTTP 通信的效率。

HTTP/1.0 和 HTTP/1.1 有什么区别#

  1. 连接方式:HTTP/1.0 默认短连接,HTTP/1.1 默认长连接,可以复用 TCP 连接,减少连接建立的开销。

  2. Host 请求头:HTTP/1.1 要求请求包含 Host 字段,使同一台服务器可以通过不同域名提供多个网站

HTTP/2.0 和 HTTP/3.0 有什么区别#

HTTP/2 和 HTTP/3 的主要区别在于传输层协议。

HTTP/2 基于 TCP,支持多路复用,但存在 TCP 层的队头阻塞问题。

HTTP/3 基于 QUIC,使用 UDP 作为底层传输协议,集成 TLS 1.3,能够减少连接建立延迟,并解决不同数据流之间的 TCP 层队头阻塞问题。

UDP 不可靠为何可以作为 HTTP/3.0 的基础?#

UDP 本身是不可靠的,不保证数据的可靠送达和有序传输。但是 HTTP/3 使用 QUIC 协议,在 UDP 之上实现了可靠传输、丢包重传和拥塞控制等机制。因此,HTTP/3 既能保证数据传输的可靠性,又能避免 TCP 层的队头阻塞问题。

一句话记忆:UDP 负责发送,QUIC 负责可靠传输,HTTP/3 负责 HTTP 通信。

为什么需要头部压缩#

HTTP 需要头部压缩,是因为请求和响应头部包含大量重复信息。通过压缩可以减少传输的数据量,降低带宽占用,提高网络传输效率。HTTP/2 使用 HPACK,HTTP/3 使用 QPACK

  1. 减少数据量: 压缩头部,减少网络传输的数据。

  2. 提高效率: 减少带宽占用,尤其适合请求数量多、头部重复率高的场景。

  3. 降低延迟: 在带宽有限的情况下,减少传输头部所需的时间

HTTP/1.0、HTTP/1.1、HTTP/2 与 HTTP/3 有什么区别
https://blog.xqcherry.top/posts/interview/network/http-version-evolution/
作者
xqcherry
发布于
2026-10-11
许可协议
CC BY-NC-SA 4.0