前端面试题 - 101. HTTP 1.0 1.1 2.0 3.0 有什么区别、进步?解决了哪些问题?

1,419 阅读2分钟

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议。不同版本的HTTP标准有不同的特点和改进,下面是HTTP 1.0、HTTP 1.1、HTTP 2.0和HTTP 3.0之间的主要区别和进步:

  1. HTTP 1.0:最早的HTTP版本,采用短连接方式,每次请求都需要建立和关闭TCP连接。它的主要特点是简单,但存在以下问题:

    • 每个请求都需要建立新的TCP连接,造成了较大的开销。
    • 不能复用连接,无法进行流水线处理,导致效率低下。
  2. HTTP 1.1:在HTTP 1.0的基础上进行了一些改进,引入了持久连接(Keep-Alive)和流水线技术,以提高性能。主要改进包括:

    • 引入了持久连接,允许多个请求和响应复用同一个TCP连接,减少了连接建立和关闭的开销。
    • 引入了流水线处理,可以同时发送多个请求,无需等待前一个请求的响应。
  3. HTTP 2.0:HTTP 2.0将数据传输方式从文本格式改为二进制格式,并引入了多路复用技术。主要改进包括:

    • 使用二进制帧替代了HTTP 1.x的文本格式,减少了数据量和解析开销。
    • 引入了多路复用技术,可以在一个TCP连接上同时发送多个请求和响应,提高了并发性能。
    • 支持服务器主动推送(Server Push),可以在客户端请求之前将相关资源主动推送给客户端。
  4. HTTP 3.0:HTTP 3.0基于UDP协议,并使用QUIC(Quick UDP Internet Connections)传输协议。主要改进包括:

    • 使用UDP协议替代了TCP协议,减少了延迟和拥塞控制的问题。
    • 使用QUIC协议,提供可靠性、安全性和流量控制等功能。
    • 使用TLS 1.3作为底层安全协议。