浏览器的运行原理

浏览器,就是可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件

以我个人的理解,就跟QQ微信等通讯工具一样,不同的是QQ微信交互的主要是图文信息,而浏览器不同,它的

主要功能是各种类型的资源的交互,如图文,音频,文档等等,一般在网上浏览时秀兰器会向服务器发出请求,

然后由浏览器的窗口展示从服务器发出的资源,也就是您选择的网络资源。

浏览器的主要由各种组件构成,具体如下:

1.用户界面:就是用户所看到的网页界面,除了用来显示用户所请求页面的主窗口,其他部分都是用户界

面。

2.浏览器引擎:用来查询并操作渲染引擎的接口,可以理解为一个过渡组件。

3.渲染引擎:用来显示用户请求的资源内容,通俗点讲就是形成用户所浏览网页的例如图文,文档等等,

它的工作原理是先通过网络获得所请求文档(如HTML)的内容,然后解析HTML,将标签转化为内容树中的

dom结点,然后再解析css文件及style标签中的样式信息,并构建另一棵树--render,render树主要包含有各种数

据的属性,如颜色大小等;等render树构建好之后,会执行布局过程,也就是形成用户所看到的网页的布局效果,

然后进行绘制,即遍历render树,最后使用UI后端层绘制每个节点。

需要注意的是,这个过程是逐步完成的,为了更好地用户体验,渲染引擎不是等所有数据资源全部解析完

成后再构建和布局,这个效果我们一般在网络较差时经常遇到,用户界面只出现了布局而没有具体内容或者内容

不完善等

例如这个淘宝页面,出现的灰绿色的那一块,就是这个效果的体现。

4.网络:用于网络调用,为所有平台提供底层实现,如果把网络资源比作货物,网络就是运输它们的工具

5.UI后端:用于绘制基本的窗口小部件,具有不特定于某个平台的通用接口,比如组合框和窗口。

6.js解释器: 用于解析和执行 JavaScript 代码。

7.数据存储:属于持久层,浏览器需要在硬盘中保存各种数据,例如cookie等,以我的理解,应该是存储

的网页的基本信息,这样当我们再次打开此网页时速度会比第一次打开快很多,提升用户的体验感。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值