计网回顾---HTTP2.0

多路复用

很多时候我们的客户端与服务器需要进行频繁的通信,这个时候,在Http0.9也就是没有长连接之前,我们只能没通信一次建立TCP连接,通信完毕断开,这个时候会浪费大量资源,并且占用了相当长的时间。

于是就引入了KeepAlive长连接这个东西,在一定时间内,同一域名多次请求数据,只建立一次TCP连接,所有的请求都复用这次的连接。那么就避免了频繁的连接和断开。但是他仍然还有两个效率上的问题:

  1. 串行的文件传输:当请求a文件时,b文件只能等待,等待a文件连接到服务器、服务器处理文件、服务器返回文件这三步之后,才能再传输b。
  2. 连接数过多:连接数过多时,只能等待前面的请求处理完成才能继续处理

那么在HTTP2,就引入了多路复用这个概念,那么他是如何解决的:

  • 对于第一个问题,在HTTP1.1中,传输的数据都是基于文本的,所以所有的数据必须按照顺序传输,比如helloworld,就只能从h一个个传输到d,不能并行,因为接收端不知道顺序。
    而HTTP2引入了二进制数据帧和流的概念,其中帧对数据进行的顺序标识,这样在接收端收到数据后可以通过顺序进行重组,而正式因为有了序列,服务器就可以并行的传输数据,这就是流做的事。
    帧代表着最小的数据单位,每个帧会标识出该帧属于哪个流,流也就是多个帧组成的数据流。

  • 对于第二个问题,因为HTTP2对于同一域名下所有请求都是基于流,也就是不管域名访问了多少文件,都可以只建立一个连接。

请求优先级

可以指定每个Request的优先级,这样重要的请求就会优先得到响应。

Header压缩

服务端推送

服务器可以主动发送数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值