当前位置:首页 > 实用技巧 >

x5内核适应安卓哪个版本

来源:原点资讯(www.yd166.com)时间:2023-06-12 09:14:08作者:YD166手机阅读>>

2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服务器推送等优势,HTTP/2 得到了越来越多开发者的青睐。不知不觉的 HTTP 已经发展到了第三代,鹅厂也紧跟技术潮流,很多项目也在逐渐使用 HTTP/3。本文基于兴趣部落接入 HTTP/3 的实践,聊一聊 HTTP/3 的原理以及业务接入的方式。

1. HTTP/3 原理

1.1 HTTP 历史

在介绍 HTTP/3 之前,我们先简单看下 HTTP 的历史,了解下 HTTP/3 出现的背景。

x5内核适应安卓哪个版本,(1)

随着网络技术的发展,1999 年设计的 HTTP/1.1 已经不能满足需求,所以 Google 在 2009 年设计了基于 TCP 的 SPDY,后来 SPDY 的开发组推动 SPDY 成为正式标准,不过最终没能通过。不过 SPDY 的开发组全程参与了 HTTP/2 的制定过程,参考了 SPDY 的很多设计,所以我们一般认为 SPDY 就是 HTTP/2 的前身。无论 SPDY 还是 HTTP/2,都是基于 TCP 的,TCP 与 UDP 相比效率上存在天然的劣势,所以 2013 年 Google 开发了基于 UDP 的名为 QUIC 的传输层协议,QUIC 全称 Quick UDP Internet Connections,希望它能替代 TCP,使得网页传输更加高效。后经提议,互联网工程任务组正式将基于 QUIC 协议的 HTTP (HTTP over QUIC)重命名为 HTTP/3。

1.2 QUIC 协议概览

TCP 一直是传输层中举足轻重的协议,而 UDP 则默默无闻,在面试中问到 TCP 和 UDP 的区别时,有关 UDP 的回答常常寥寥几语,长期以来 UDP 给人的印象就是一个很快但不可靠的传输层协议。但有时候从另一个角度看,缺点可能也是优点。QUIC(Quick UDP Internet Connections,快速 UDP 网络连接) 基于 UDP,正是看中了 UDP 的速度与效率。同时 QUIC 也整合了 TCP、TLS 和 HTTP/2 的优点,并加以优化。用一张图可以清晰地表示他们之间的关系。

x5内核适应安卓哪个版本,(2)

那 QUIC 和 HTTP/3 什么关系呢?QUIC 是用来替代 TCP、SSL/TLS 的传输层协议,在传输层之上还有应用层,我们熟知的应用层协议有 HTTP、FTP、IMAP 等,这些协议理论上都可以运行在 QUIC 之上,其中运行在 QUIC 之上的 HTTP 协议被称为 HTTP/3,这就是”HTTP over QUIC 即 HTTP/3“的含义。

因此想要了解 HTTP/3,QUIC 是绕不过去的,下面主要通过几个重要的特性让大家对 QUIC 有更深的理解。

1.3 零 RTT 建立连接

用一张图可以形象地看出 HTTP/2 和 HTTP/3 建立连接的差别。

x5内核适应安卓哪个版本,(3)

HTTP/2 的连接需要 3 RTT,如果考虑会话复用,即把第一次握手算出来的对称密钥缓存起来,那么也需要 2 RTT,更进一步的,如果 TLS 升级到 1.3,那么 HTTP/2 连接需要 2 RTT,考虑会话复用则需要 1 RTT。有人会说 HTTP/2 不一定需要 HTTPS,握手过程还可以简化。这没毛病,HTTP/2 的标准的确不需要基于 HTTPS,但实际上所有浏览器的实现都要求 HTTP/2 必须基于 HTTPS,所以 HTTP/2 的加密连接必不可少。而 HTTP/3 首次连接只需要 1 RTT,后面的连接更是只需 0 RTT,意味着客户端发给服务端的第一个包就带有请求数据,这一点 HTTP/2 难以望其项背。那这背后是什么原理呢?我们具体看下 QUIC 的连接过程。

Step1:首次连接时,客户端发送 Inchoate Client Hello 给服务端,用于请求连接;

Step2:服务端生成 g、p、a,根据 g、p 和 a 算出 A,然后将 g、p、A 放到 Server Config 中再发送 Rejection 消息给客户端;

Step3:客户端接收到 g、p、A 后,自己再生成 b,根据 g、p、b 算出 B,根据 A、p、b 算出初始密钥 K。B 和 K 算好后,客户端会用 K 加密 HTTP 数据,连同 B 一起发送给服务端;

Step4:服务端接收到 B 后,根据 a、p、B 生成与客户端同样的密钥,再用这密钥解密收到的 HTTP 数据。为了进一步的安全(前向安全性),服务端会更新自己的随机数 a 和公钥,再生成新的密钥 S,然后把公钥通过 Server Hello 发送给客户端。连同 Server Hello 消息,还有 HTTP 返回数据;

Step5:客户端收到 Server Hello 后,生成与服务端一致的新密钥 S,后面的传输都使用 S 加密。

这样,QUIC 从请求连接到正式接发 HTTP 数据一共花了 1 RTT,这 1 个 RTT 主要是为了获取 Server Config,后面的连接如果客户端缓存了 Server Config,那么就可以直接发送 HTTP 数据,实现 0 RTT 建立连接。

x5内核适应安卓哪个版本,(4)

栏目热文

为什么不支持x5内核(x5内核加载失败修复步骤)

为什么不支持x5内核(x5内核加载失败修复步骤)

一. 序事情是这样的,前几天收到 Google Play 的通知邮件,这才想起来有几款在 Google Play 上架的...

2023-06-12 08:58:57查看全文 >>

x5内核没了会怎样(x5内核初始化失败怎么解决)

x5内核没了会怎样(x5内核初始化失败怎么解决)

从 iOS 13 的深色外观到 Android 10 的深色主题,似乎是延续了去年对「数字健康」这一话题的思考,如何将界...

2023-06-12 09:32:58查看全文 >>

为什么x5内核加载失败(内核加载失败解决办法)

为什么x5内核加载失败(内核加载失败解决办法)

TBS视频播放TBS视频播放器可以支持市面上几乎所有的视频格式,包括mp4, flv, avi, 3gp, webm, ...

2023-06-12 09:22:25查看全文 >>

无法安装x5内核(安卓x5内核安装包下载)

无法安装x5内核(安卓x5内核安装包下载)

RTS 在阿里云视频直播的基础上进行底层技术优化,通过集成阿里云播放器 SDK,支持在千万级并发场景下节点间毫秒级延时直...

2023-06-12 09:09:28查看全文 >>

x5预置效果是什么意思(x5音效设置怎么调最佳)

x5预置效果是什么意思(x5音效设置怎么调最佳)

  对于摄影发烧友来说,有三大必备法宝值得用一生去追求,那就是专业镜头、好的拍摄场景和功能强大的后期图片处理软件,所以说...

2023-06-12 08:53:25查看全文 >>

怎么用x5内核设置全屏(游戏用x5内核打开很慢该怎么办)

怎么用x5内核设置全屏(游戏用x5内核打开很慢该怎么办)

随着网络提速和手机性能的提升,移动端页面中出现视频内容的频率越来越高。HTML5 通过 video 标签来支持嵌入式的媒...

2023-06-12 09:07:48查看全文 >>

名校同步课堂直播在哪个台(名校同步课堂怎么收看直播)

名校同步课堂直播在哪个台(名校同步课堂怎么收看直播)

紧 急 声 明 根据河南省教育厅 河南广播电视台 河南广电传媒控股集团有限责任公司《关于做好名校同步课堂收看工作的紧急通...

2023-06-12 09:32:51查看全文 >>

在电脑上怎么看名校同步课堂直播

在电脑上怎么看名校同步课堂直播

第十一周(4月20日-24日)详细电视和网络播出时间表小学详细播出时间表初中课程详细播出时间表高中课程详细播出时间表特别...

2023-06-12 09:25:14查看全文 >>

名校同步课堂怎么打开(用手机怎么看名校同步课堂)

名校同步课堂怎么打开(用手机怎么看名校同步课堂)

大象新闻记者 魏俊浩5月3日,郑州发布73号通告:主城区内学校、托幼机构、校外培训机构暂缓开学,启动线上教学。线上优质课...

2023-06-12 08:46:52查看全文 >>

名校同步课堂怎么用手机看回放(名校同步课堂怎么在电视上观看)

名校同步课堂怎么用手机看回放(名校同步课堂怎么在电视上观看)

想要从手机端观看“名校课堂”直播的广大学子注意,大象新闻客户端开设的“名校课堂”栏目,于2月10日正式上线了。手机如何观...

2023-06-12 09:32:03查看全文 >>

文档排行