前端经典面试题合集, 介绍下从 HTTP1.0,HTTP1.1 到 HTTP2 再到 HTTP3 的演化过程,各个阶段相对前一阶段做了哪些优化?
前端经典面试题合集, 介绍下从 HTTP1.0,HTTP1.1 到 HTTP2 再到 HTTP3 的演化过程,各个阶段相对前一阶段做了哪些优化?
QA
Step 1
Q:: 介绍从 HTTP/1.0、HTTP/1.1 到 HTTP/2 再到 HTTP/3
的演化过程,各个阶段相对前一阶段做了哪些优化?
A:: HTTP/1.0 于 1996 年发布,是第一个广泛使用的 HTTP 协议版本。它采用的是无状态的请求/响应模型。HTTP/1.1 于 1997 年发布,相比 HTTP/1.0,增加了持久连接(Persistent Connections)、分块传输编码(Chunked Transfer Encoding)和请求管道化(Pipelining)等特性,提高了性能和效率。HTTP/2 于 2015 年发布,相比 HTTP/1.1 引入了多路复用(Multiplexing)、头部压缩(Header Compression)、服务器推送(Server Push)等特性,进一步减少了延迟,提升了传输速度。HTTP/3
是最新的 HTTP 协议,基于 QUIC 协议,其特点是降低了连接建立时间,提高了网络传输的安全性和效率。
Step 2
Q:: HTTP/1.0 和 HTTP/1.1
的主要区别是什么?
A:: HTTP/1.1 在 HTTP/1.0 的基础上引入了持久连接,即在一个 TCP 连接上可以传输多个请求和响应,减少了连接建立和关闭的开销。HTTP/1.1 还支持请求管道化,即可以在发送一个请求的同时发送下一个请求,进一步提高了传输效率。此外,HTTP/1.1
引入了更多的缓存控制机制和状态码,以便更好地管理数据的传输和存储。
Step 3
Q:: HTTP/2
的多路复用如何提高传输效率?
A:: HTTP/2 的多路复用允许在单个连接上同时发送多个请求和响应,不再需要为每个请求建立单独的连接。这不仅减少了连接建立的时间,还避免了 HTTP/1.1 中队头阻塞(Head-of-Line Blocking)的问题。通过分帧和流的机制,HTTP/2
能够更高效地利用带宽和资源,提高传输效率。
Step 4
Q:: HTTP/3
为什么选择基于 QUIC 协议?
A:: HTTP/3 选择基于 QUIC 协议是因为 QUIC 具有更低的延迟和更高的安全性。QUIC 使用 UDP 传输协议,通过将握手过程缩短到一个 RTT(Round-
Trip Time),大大减少了连接建立的时间。此外,QUIC 自带加密机制,提供了更强的安全性,同时避免了 TCP 的队头阻塞问题。