美文网首页
(4)HTTP/1.1、HTTP/2、HTTP/3 演变

(4)HTTP/1.1、HTTP/2、HTTP/3 演变

作者: hedgehog1112 | 来源:发表于2020-12-16 13:13 被阅读0次

一、HTTP/1.1 相比 1.0 性能改进

1)TCP 长连接改善 HTTP/1.0 短连接性能开销

2)支持 管道(pipeline)网络传输,请求发出,不必等其回来发第二个,减少响应时间

HTTP/1.1 性能瓶颈:

1)头部未压缩,信息越多延迟越大。只能压部分Body,首部冗长,发送相同首部浪费

2)队头阻塞:按请求顺序响应,如服务器响应慢

3)没请求优先级控制:只能从客户端开始,服务器被动

二、1.1 的性能瓶颈,HTTP/2 做了什么优化?

1. 头部压缩

同时发出多个请求,头一样或相似,协议消除重复

    就是HPACK 算法:维护头信息表,生成一个索引号,不发送同样字段,只发送索引号提高速度

2. 二进制格式

1.1 纯文本形式的文,2 二进制格式:头信息帧和数据帧,统称为帧(frame)

报文区别:直接解析二进制报文,无需明文报文转成二进制,增加传输效率

3. 数据流

数据流(Stream):请求/回应所有数据包,独一无二的编号,客户端发出奇数, 服务器偶数,可指定优先级

不按顺序发送的,同连接连续数据包,可能属于不同回应。标记数据包属于哪个回应

4. 多路复用

一个连接中可并发多个请求或回应,不用按照顺序一一对应。移除串行请求,解决队头阻塞

例:TCP 连接里,服务器收客户端 A 和 B 请求,A 耗时,回应 A 请求已处理部分,接着回应 B再回应 A 剩下部分。

5. 服务器推送

改善“请求 - 应答”,服务也可主动发

例:浏览器刚请求 HTML提前把可能用JS、CSS 文件等静态资源主动发给客户端减少延时,就是推送

三、2 有哪些缺陷?HTTP/3 做哪些优化

2 主要问题:

    1)多个 HTTP 请求复用一个 TCP,TCP 不知道多少个HTTP 

    2)丢包触发 TCP 重传,所有HTTP 请求都等待。1.1 pipeline阻塞,2 丢包阻塞

3 改变

1)把 HTTP 下层TCP 协议改成UDP(不管顺序,不管丢包)

    UDP 不可靠,基于 UDP 的QUIC 协议(丢包时,阻塞这个流,其他流不受影响) 可实现类似 TCP 可靠性传输。

2)头部压缩算法升级成QPack

HTTPS 建立连接,6 次交互,先建三次握手,然后TLS/1.3 的三次握手。QUIC 合并成了 3 次

ps:TCP HTTPS(TLS/1.3) 和 QUIC HTTPS

QUIC:在UDP之上TCP + TLS + HTTP/2 多路复用协议。

新协议,很多网络设备,不知道,只当UDP,出现新问题

HTTP/3 普及慢,不知道UDP 是否能逆袭 TCP

https://mp.weixin.qq.com/s/bUy220-ect00N4gnO0697A

相关文章

  • (4)HTTP/1.1、HTTP/2、HTTP/3 演变

    一、HTTP/1.1 相比 1.0 性能改进 1)TCP 长连接改善 HTTP/1.0 短连接性能开销 2)支持 ...

  • http/1.1 http/2 http/3

    最近整理了一下http的历史发展,学习参考。 http/2相比与http/1.1,提高了网络的性能优化; http...

  • HTTP/1.0、HTTP/1.1、HTTP/2、HTTPS

    1. HTTP发展历史 HTTP(超文本传输协议,HyperText Transfer Protocol)是建立在...

  • http

    1.http协议的连接过程2.http协议头3.http状态定义4.http1.0、1.1、2.0区别5.http...

  • 详解HTTP1.0 HTTP1.1 HTTPS HTTP/2 w

    HTTP到现在有3个版本: HTTP 1.0、HTTP 1.1、HTTP/2、HTTPS是加上ssl的HTTP, ...

  • HTTP协议之:HTTP/1.1和HTTP/2

    简介 HTTP的全称是Hypertext Transfer Protocol,是在1989年World Wide ...

  • 白话入门HTTP家族,HTTP1.1, HTTP/2, HTTP

    本文属于白话简单理解,HTTP版本升级的详细特性可以参考文末所列文章。 HTTP1.1在世纪之交千禧年左右发布的,...

  • HTTP/ 1.0 HTTP /1.1 HTTP/ 2.0

    HTTP/ 1.0 和HTTP /1.1 的区别区别一(最重要)HTTP/ 1.1 加入了 1 持久连接(HTTP...

  • HTTP/2 HTTP/3

    HTTP/2 HTTP/3 HTTP/1.1 有哪些不足 同一时间一个连接只能对应一个请求 同一个域名, 大多数浏...

  • HTTP/1.0/1.1/2/3

    HTTP协议概念 HTTP 协议是无状态的,其本身也是无连接的。 无状态:同一个客户第二次访问同一个服务器上的页面...

网友评论

      本文标题:(4)HTTP/1.1、HTTP/2、HTTP/3 演变

      本文链接:https://www.haomeiwen.com/subject/mvfngktx.html