秋招突击——知识复习——HTTP/2、HTTP/3的改良

引言

  • 最近面试总是被问到关于HTTP/2、HTTP/3的改进等等,之前学过,但是忘得有点多,这里回顾一下,做一下总结!

正文

HTTP/1.1与HTTP/1.0

1、长连接代替短链接

简介

  • 使用长连接的方式改善了HTTP/1.0短链接造成的性能开销
  • 长连接,只要任意一端没有明确提出断开连接,则保持TCP连接状态

具体使用

  • 通过connection字段,Keep-Alive值实现
Connection:Keep-Alive
  • 开启上述机制之后,就会保持连接
    • 当客户端发送另外一个请求是,会使用同一个链接
2、管道传输

简介

  • 支持管道传输,请求发送不受限制,不用等待第一个请求的响应回复即可发送第二个请求。、
    • 但是服务器必须按照接受请求的顺序发送响应

特点

  • 解决了请求的队头阻塞问题,但是没有解决响应的队头阻塞问题

在这里插入图片描述

缺点

1、首部未压缩

  • 请求和响应的头部含有大量的冗余信息,未经压缩就发送,浪费资源延迟大。
    • HTTP/1.0仅仅压缩了Body

2、队头阻塞

  • 服务器是按照请求的顺序响应的,服务器响应慢,会出现队头阻塞问题

队头阻塞没有搞清楚!

3、被动响应

  • 请求只能从客户端开始,服务器只能被动响应,无法主动推送。
    一个网页的多个构成,可以打包多个消息一块发送吗?
    基于请求,为什么不能多发几个信息?

4、无优先级控制

  • 没有请求优先级控制

HTTP2.0和HTTP1.1

1、头部压缩

简介

  • 如果发送多个请求,头都是一样的或者相似的,协议会帮助消除重复部分,减少冗余部分。

具体实现原理

  • 客户端和服务端共同维护一个静态表和动态表
    • 请求和响应头的信息,使用动态表和静态表中的所以索引号来发送,去除冗余消息

通过索引号代替头部信息,加快发送速度

在这里插入图片描述
静态表如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值