HTTP 1.0 和 2.0 有什么区别?
2026/9/18 20:15:43 网站建设 项目流程

HTTP/1.0 vs HTTP/2.0 面试Markdown

HTTP1.0是早期版本;HTTP1.1是广泛使用版本;HTTP2.0基于二进制帧,大幅提升性能,建立在HTTPS之上

HTTP/1.0 主要特点

  1. 短连接为默认:一次请求响应就断开TCP连接,每次请求都要重新三次握手。
  2. 没有Host请求头,一台服务器很难部署多个虚拟主机。
  3. 缓存机制简陋,只有Expires,缺少完整协商缓存。
  4. 串行请求,浏览器并发请求数量有限。

1.0痛点:频繁创建销毁TCP,性能差,所以出现HTTP1.1。

HTTP/1.1 改进(对比1.0)

  • 默认开启keep‑alive长连接,一条TCP连接可以复用多次请求响应。
  • 强制Host请求头,支持一台服务器多个域名。
  • 完善缓存:新增If‑None‑Match、ETag协商缓存。
  • 支持断点续传。

但是HTTP1.1仍然是文本协议,队头阻塞问题没有解决

HTTP/2.0 核心改进(重点面试)

  1. 二进制帧(Binary Frame)
    不再是文本报文,把报文拆成二进制帧,解析效率更高。所有帧在同一个TCP连接传输。

  2. 多路复用(Multiplexing)⭐最核心
    同一条TCP连接,可以同时并行发送多个请求和响应
    解决 HTTP1.1 的队头阻塞:1.1中一个请求卡住,后面全部请求排队等待;2.0多个请求互不干扰。

注意:HTTP2解决的是应用层队头阻塞,TCP层面的队头阻塞依然存在,丢包会影响整个连接。

  1. 头部压缩 HPACK
    HTTP每次请求重复携带大量请求头(Cookie、User‑Agent等)。
    HPACK算法对header做压缩,减少网络传输体积。

  2. 服务器推送 Server Push
    服务器可以主动向客户端推送资源,不用浏览器发起请求。比如访问html,服务端主动把css、js推送给浏览器。

实际业务使用不多。

  1. 流优先级
    不同请求流设置优先级,重要资源优先传输。

关键对比表格

对比项HTTP/1.0HTTP/2.0
协议格式文本协议二进制帧协议
连接模式默认短连接单TCP连接,多路复用
队头阻塞严重解决应用层队头阻塞,TCP层仍存在
请求头无压缩HPACK头部压缩
服务器推送不支持支持Server Push
传输串行请求并行多路复用

面试口述版本

HTTP1.0默认是短连接,每次请求完成断开TCP,每次都要握手,性能差,缺少Host头,缓存能力弱。
HTTP1.1做了长连接、Host头、完善缓存,但还是文本协议,存在队头阻塞,同一个TCP连接请求要排队。

HTTP2.0最大的特点是采用二进制帧,实现多路复用,一条TCP连接可以同时处理多个请求响应,解决应用层的队头阻塞
同时使用HPACK做请求头压缩,减少报文大小;还支持服务器推送、流优先级。
要注意:HTTP2只解决应用层队头阻塞,如果TCP丢包,整个连接依旧会受影响。HTTP2一般都是配合HTTPS使用。

面试官追问:HTTP2还存在什么阻塞?
答:TCP层队头阻塞,发生丢包,整个TCP连接全部等待重传。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询