【前端进阶学习】Chrome游览器导航栏(地址栏)底层实现原理:

要点1:所涉及游览器进程:游览器进程渲染进程

要点2:游览器进程 具有的线程:UI线程网络线程存储线程

导航步骤及各步骤的原理:

1、处理输入。

在导航栏输入内容,由 UI线程 负责,此时 UI线程 识别输入的内容为"搜索查询"或"URL"。

搜索查询:发送到搜索引擎。

URL:请求对应URL网站。

2、开始导航。

UI线程 会发起网络调用以获取网站内容,网络线程 通过相应的协议为该URL 请求查找(例如 DNS)和建立连接(例如 TLS),即 UI线程 与 网络线程 进行了通讯。(网络线程可能会收到服务器的重定向状态码,例如 HTTP 301。在这种情况下,网络线程 与 UI线程 进行通信,告知请求的服务器正在请求重定向,此时将启动另一个 URL 请求。)

3、读取响应结果。

识别到响应是 HTML 文件,网络线程 会检查响应数据是否为来自安全站点的 HTML,确保安全后将数据传递到 渲染进程。

4、查找渲染进程。

完成所有检查后,并且 网络线程 确信浏览器应导航到请求的站点时,网络线程 告知 UI线程 数据准备就绪,UI线程 则找来一个 渲染进程 来对页面进行渲染。(经过优化,UI线程 和 网络线程 会尝试并行查找渲染进程。)

5、提交导航。

一切准备就绪,将 IPC(进程通信) 从 浏览器进程 发送到 渲染进程 以提交导航。当 浏览器进程 听到 渲染进程 中的提交确认,导航即完成,文档加载阶段开始。

本文只对大体流程进行总结,更多有关游览器导航实现原理及更多底层原理请前往 现代浏览器 - 深入理解 | Black Pearl 查阅。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值