简述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 @   W-enzy  阅读(90)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
点击右上角即可分享
微信分享提示