地址栏输入地址到浏览器显示页面 简单易懂 高能无废话

地址栏输入地址到浏览器显示页面


浏览器进程通过IPC向渲染进程提交访问,渲染进程继续加载资源并渲染页面,结束后会给浏览器进程发送消息表明加载完毕

------访问过程---------
在浏览器地址栏输入时,浏览器进程的UI线程会判断要搜索内容还是访问站点
按下回车开始访问时,浏览器进程的UI线程将请求地址传给浏览器进程的网路线程(访问站点资源),浏览器页签出现加载图标
浏览器进程的网络线程收到来自服务器的数据时会了解数据格式, (若为HTML,将数据传给渲染进程做渲染;若为压缩文件,传给下载管理器下载) 检查数据安全性,安全后通知浏览器进程的UI线程数据已经准备好
浏览器进程的UI线程根据当前站点,找到渲染进程渲染页面

**访问站点:总结
浏览器进程的UI线程将请求地址传给浏览器进程的网路线程,网络线程一边向服务器请求,下载数据,UI线程一边寻找、启动渲染进程。当网路线程获取到数据后,渲染进程就可以开始渲染页面了


数据和渲染进程已准备好
浏览器进程与渲染进程间通过IPC 沟通
浏览器进程通过IPC向渲染进程提交访问
渲染进程可以通过网络线程获取数据

这时,地址栏显示出表明安全的图标,同时显示出站点的信息。访问历史中也会加入当前的站点信息。为了能恢复访问历史信息,当页签或窗口被关闭时,访问历史的信息会被存储在硬盘中。


-----文档渲染过程------
渲染进程如何将从网络线程中获取的文本转化成图像的过程
渲染进程最重要的工作就是将 HTML、CSS 和 Javascript 代码转换成一个可以与用户产生交互的页面

渲染进程包括(渲染,运行js的工作):
主线程:解析,编译,运行代码
Worker线程:运行一部分代码;如Service worker,可以控制获取数据从本地还是服务器
合成线程:更高效,顺畅的渲染页面
光栅线程:更高效,顺畅的渲染页面

过程
HTML被HTML解析器解析为DOM树
CSS被CSS解析器解析为CSSOM树
结合DOM树和CSSOM树,生成渲染树
生成layout
绘制顺序

主线程将这些信息交给合成线程,合成线程将层拆分成许多块,将块发给栅格线程
栅格线程光栅化这些块并将它们存储在GPU缓存中
合成线程使用draw quads收集这些信息并创建合成帧

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值