http1.0、1.1、2.0、 3.0

http1.0、1.1、2.0、 3.0

http1.1

  • 引入长连接,在1.0,每次请求都需要建立新的TCP连接,处理请求完毕后立即断开。就导致处理大量图片,链接等资源,需要大量的连接与断开,造成资源浪费和时间延迟。而长连接允许在一个TCP连接上,发起多次请求,减少连接建立和断开的开销,提高网络资源的利用率

  • 引入请求管道化 ,允许客户端同时发起多个请求,服务端根据接受到的请求依次处理回应,减少了等待时长,需要注意的是,请求管道化可以并发发送请求,但服务器仍依次回应

  • 引入更多的状态码,提供更加丰富的错误信息,方便开发人员定位问题,调试。

  • 引入缓存机制,允许服务器发送"ETag"和"Last-Modified"等响应头字段,便于客户端进行条件性请求,避免不必要的资源传输,提高网络利用率。

存在的问题

  • 请求 / 响应头部(Header)未经压缩就发送,首部信息越多延迟越大。只能压缩 Body 的部分;

  • 发送冗长的首部。每次互相发送相同的首部造成的浪费较多;

  • 服务器是按请求的顺序响应的,如果服务器响应慢,会招致客户端一直请求不到数据,也就是队头阻塞

  • 没有请求优先级控制;

  • 请求只能从客户端开始,服务器只能被动响应

http2.0

  • 二进制协议:使用二进制协议而不是文本格式来传输数据,解析更加高效。(头信息和数据体都是二进制,称为帧)里面还有个流标识符,就可以按照顺序组合,不用按帧顺序抵达对方那里,而且帧类型里面还可以设置优先级,这样来标注流的权重

  • 多路复用:一个TCP连接上可以同时进行多个HTTP请求和响应,解决了HTTP 1.x的队头阻塞问题。(请求管道化,仅请求加快)

  • 头部压缩:使用HPACK算法对头部进行压缩,减少了头部的大小,提高了传输效率,利用静态字典和动态字典来编码常见的头部值

  • 服务器推送:服务器可以主动向客户端推送资源,而不需要客户端明确请求

存在的问题

  • TCP 层队头阻塞问题依然存在:虽然 HTTP/2.0 解决了自身协议层面在同一个连接内的队头阻塞,但它仍然基于 TCP 协议传输,当 TCP 层面出现丢包等情况导致某个帧重传时,整个 TCP 连接上的其他帧都可能受到影响,仍会出现一定程度的队头阻塞,影响传输效率。

http3.0

  • 基于QUIC协议实现,而QUIC是基于UDP的传输协议,具有更低的延迟和更高的性能。

  • 支持连接迁移,当客户端的网络环境发生变化,可以更加平滑的切换新网络,无需重新建立连接

  • 在某些情况下,可以在第一个往返时间(RTT)内建立连接,减少了连接建立的延迟。

存在的问题

  • QUIC 是一个在 UDP 之上的 TCP + TLS + HTTP/2 的多路复用的协议。

    QUIC 是新协议,对于很多网络设备,根本不知道什么是 QUIC,只会当做 UDP,这样会出现新的问题,因为有的网络设备是会丢掉 UDP 包的,而 QUIC 是基于 UDP 实现的,那么如果网络设备无法识别这个是 QUIC 包,那么就会当作 UDP包,然后被丢弃。

    HTTP/3 现在普及的进度非常的缓慢

相关推荐
pcplayer1 小时前
Delphi WebService 使用 HTTP Header 管理 Session
http·webservice·soap·web server·http header
拾光Ծ3 小时前
【Linux网络】数据链路层详解:以太帧与ARP协议 + 代理服务器与内网穿透,内网打洞
计算机网络·内网穿透·数据链路层·arp·代理服务器·内网打洞·以太帧
小新讲网安3 小时前
HTTP请求走私攻击实战:CL.TE与TE.CL绕过前端服务器全解析
服务器·前端·网络·web安全·http·架构·漏洞
JZZC24 小时前
38.IPv6——静态配置
计算机网络·ipv6
wear工程师21 小时前
接口超时别只调大 timeout:Java HTTP 客户端其实有 3 段等待
java·http
蜡台21 小时前
本机 局域网 搭建本地 HTTPS 域名完整方案
网络协议·http·https·openssl
ly76891 天前
计算机网络:从分层模型到 TCP/IP、HTTP 与网络排查
网络·tcp/ip·计算机网络
ControlRookie1 天前
第13篇_Client 02|TCP 连接成功,为什么 HTTP 请求还没有成功
http·codesys·plc通信·controlrookie
我爱cope1 天前
【计算机网络 | 物理层5:时分复用、频分复用与波分复用:一条链路如何服务多个用户?】
网络·学习·计算机网络
上岸社社长2 天前
2027届国网计算机类备考指南:时间线、考纲与复习规划(附资料)
计算机网络