简述HTTP1.0、1.1、2.0和3.0之间的区别

HTTP 1.0

无状态、无连接: 每次请求都需要建立新的TCP连接,处理完后立即关闭,导致开销较大。

队头阻塞: 每个请求必须按照顺序依次处理,前面的请求未完成,后面的请求只能等待,降低了并发效率。

不支持持久连接: 每个请求都建立一个新的TCP连接,增加了服务器的负担。

HTTP 1.1

持久连接: 引入了Keep-Alive机制,多个请求可以复用同一个TCP连接,减少了建立连接的开销。

管道化: 允许在同一个TCP连接上同时发送多个请求,提高了并发效率。

Host字段: 可以在同一个IP地址上运行多个虚拟主机。
断点续传: 支持文件传输中断后从断点处继续传输。

HTTP 2.0

二进制分帧: 将HTTP报文分割为更小的二进制帧,提高了传输效率,并支持多路复用。

头部压缩: 减少了HTTP头部的大小,降低了网络开销。
服务器推送: 服务器可以主动向客户端推送资源,减少了客户端的请求次数。

多路复用: 在一个TCP连接上可以同时发送多个请求和响应,解决了HTTP 1.1的队头阻塞问题。

HTTP 3.0

基于QUIC协议: 使用UDP协议,相较于TCP的可靠性,QUIC通过自身实现可靠传输,减少了RTT。

多路复用: 在一个QUIC连接上可以同时传输多个请求和响应,并支持流优先级。

更快的连接建立: 减少了TCP的三次握手和TLS的握手时间。
更低的延迟: 由于QUIC协议的特性,HTTP 3.0具有更低的延迟。

HTTP 1.0、1.1、2.0、3.0的区别

特性 HTTP 1.0 HTTP 1.1 HTTP 2.0 HTTP 3.0
连接 短连接 持久连接 持久连接 QUIC连接
传输方式 文本 文本 二进制 二进制
头部压缩 不支持 不支持 支持 支持
多路复用 不支持 部分支持 支持 支持
服务器推送 不支持 部分支持 支持 支持
posted @ 2024-09-02 17:10  W-enzy  阅读(276)  评论(0)    收藏  举报