HTTP协议-HTTP3

序言

上节提到HTTP3通过更加底层的传输层的优化来提升效率,究竟如何,让我们一起看一下。

HTTP3的优化

 

 

通过这个图片,我们可以很清楚的看到,HTTP2和HTTP3的传输层是完全不同的协议,HTTP3的传输层是UDP协议。我们知道UDP协议是个不可靠的协议,而TCP协议是可靠协议,怎样保证可靠的呢,重传。

QUIC协议

在UDP协议之上,新增了QUIC协议。我的理解是由于TCP协议相对于UDP协议控制比较复杂耗时,因此针对HTTP应用贴身开发了QUIC协议代替TCP协议中关于可靠、流量控制的部分。

  • QUIC协议特性
    • QUIC协议提供类似于HTTP2的流功能
    • QUIC协议使用流ID取代IP和端口,这样就能实现连接迁移。例如说从4G信号切换到wifi,下层的IP和端口变了,但是由于QUIC的流ID没有变,这个连接不会变,可以继续使用这个连接。

然后我们看一下HTTP3在QUIC上有什么变化呢?HTTP3由HTTP2进化,HTTP2最大的变化就是基于二进制流的传输。那么到HTTP3,由于QUIC已经管理了流,HTTP3本身就减负了,将流管理下移QUIC,而本身就直接调用QUIC的接口就可以了。

HTTP3如何工作

  • 我们回想一下HTTPS,HTTPS是类似于TCP握手的工作方式,先工作在HTTP1上,通过HTTP1传递交换得到秘钥,然后切换到HTTPS上工作。
  • 接着我们回想一下HTTP2,HTTP2也是基于TLS的,所以HTTP2的工作方式和HTTPS也是同样的过程,需要握手建立TLS连接,只是TLS连接完成后,发送一个HTTP2的连接确认消息,确认后,客户端服务器使用HTTP2进行连接通讯。
  • 最后让我们看下HTTP3如何工作。首先要建立好HTTP2连接,然后发送HTTP2扩展帧,这个帧包含IP和端口,浏览器收到扩展帧,使用该IP和端口,使用QUIC建立连接,如果成功,断开HTTP2,升级为HTTP3。

这三者,都用TCP的握手协议去理解,都是握手,不同的是握手方式不一样。

小结

HTTP3是在基础上动土,对于技术族来说可谓是脑洞大开。这就又说明了基础的重要性。



作者:Wu杰语
链接:https://www.jianshu.com/p/dd9719c4c2c1
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值