返回

​​热点面试题:简述 http3.0~http1.0 分别有什么改进?

发布时间:2023-01-11 11:47:33 323
# 服务器# 数据# 服务器# 技术# 设备

​热点面试题:简述 http3.0~http1.0 分别有什么改进?​

  • http
  1. ​带宽​
  2. ​延迟​
  3. ​浏览器阻塞(HOL blocking)​
  4. ​DNS 查询(DNS lookup)​
  5. ​建立连接(initial connection)​
  • http1.0
  1. ​无法复用​​: 每次发送请求,都需要进行一次TCP连接,而TCP的连接释放过程又是比较耗时的。
  2. ​队头阻塞​​:由于HTTP1.0规定下一个请求必须在前一个请求响应到达之前才能发送,假设前一个请求响应一直不到达,那么下一个请求就不发送,后面的请求就阻塞了。
  • http1.1
  1. ​缓存控制​​:新增了 e-tag 之类的缓存来控制缓存
  2. ​长连接​​: 通过设置 keep-alive 保持http 连接可在一个TCP 连接上发送多个请求和响应。
  3. ​分块传输​
  4. ​管线化​​:将多个 HTTP 请求(request)整批提交,而在发送过程中不需先等待服务器的回应
  • http2.0
  1. ​二进制分帧(Binary Format)​​:http2.0 的基本单位是二进制,以前采用文本形式,健壮性不是很好,现采用二进制格式,更方便更健壮。
  2. ​多路复用(MultiPlexing)​​:http2.0 的多路复用,把多个请求当做多个流,请求响应数据分成多个帧,不同流中的帧交错发送,解决了TCP 链接数量多,TCP 连接慢的问题,所以,对于同一个域名只需要创建一个连接就可以了。
  3. ​header 压缩(header compress)​​:http2.0 压缩消息头,避免了重复请求头的传输,并减少了传输的大小
  4. ​服务端推送(server push)​​:http2.0 的服务端推送,浏览器发送请求后,服务端会主动发送与这个请求相关的资源,之后浏览器就不用再次发送后续的请求了。
  5. ​请求优先级(request prioritization)​​:http2.0 可设置请求的优先级,可按照优先级来解决阻塞问题
  • http3.0
  1. ​0RTT(就是数据包一来一回的时间消耗) 建立安全连接​​:基于DH秘钥交换算法,在第一个包就可以包含有效的应用数据,从而在连接延时有很大优势,可以节约数百毫秒的时间
  • RTT包括三部分:往返传播时延、网络设备内排队时延、应用程序数据处理时延
  1. ​连接迁移​​:http3.0 基于UDP实现,不依赖TCP 五元组,QUIC 使用自己的connection ID,即使网络五元组变化了,仍然可以维持连接。基于QUIC协议之下,我们在日常wifi和4G切换时,或者不同基站之间切换都不会重连,从而提高更好的体验
  2. ​队头阻塞问题​​:TCP本身也有队头阻塞问题,QUIC协议是基于UDP协议实现的,在一条链接上可以有多个流,流与流之间是互不影响的,当一个流出现丢包影响范围非常小,从而解决队头阻塞问题。通俗来说就是:一个数据包影响了一堆数据包,它不来大家都走不了。
  3. ​新的拥塞机制​​:因为替换成UDP了,所以需要提供新实现的基于UDP的拥塞控制能力
  4. ​前向纠错​​:QUIC每发送一组数据就对这组数据进行异或运算,并将结果作为一个FEC包发送出去,接收方收到这一组数据后根据数据包和FEC包即可进行校验和纠错。
  5. ​特性热插拔​​:因为核心能力都在用户态实现的,不依赖内核,调整拥塞控制算法等行为都变得更为简单
  6. ​前向安全问题​​: 前向安全指的是密钥泄漏也不会让之前加密的数据被泄漏,影响的只有当前数据,对之前的数据无影响。
  • 补充:
  • QUIC含义:Quick UDP Internet Connections的缩写,直译为快速UDP互联网连接。

​最后:​

  • 公众号回复 ​​加群​​​ 或 ​​扫码​​, 即可加入前端交流学习群,长期交流学习......
  • 欢迎关注『前端进阶圈』,一起探索学习前端技术......

​​热点面试题:简述 http3.0~http1.0 分别有什么改进?_数据


特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
前端三个实用小妙招分享给大家 2023-01-11 11:04:34