浏览器及其内核工作原理
一、浏览器工作原理
| 
 浏览器  | 
 浏览器内核  | 
| 
 IE  | 
 Trident内核  | 
| 
 Firefox  | 
 Gecko内核  | 
| 
 Safari/Chrome  | 
 Webkit内核  | 
| 
 Opera  | 
 Presto内核  | 
| 
 现在Chrome内核是Blink  | 
 Blink内核  | 
1.启动
- 
启动应用(老板开公司)
 - 
计算机创建进程(创建一个公司)
 - 
操作系统分配内存(找场地)
 - 
应用创建线程(找工人)
 
2.关闭
- 
关闭应用(倒闭)
 - 
结束进程(场地关闭)
 - 
释放内存(场地空闲出来)
 
节省内存:
浏览器限制了最大进程数,达到限制,新开的tab页面会共用之前相同站点的渲染进程
二、内核工作原理
内核:渲染引擎和js引擎。
渲染引擎:
用来显示请求的内容,如果请求内容为html,那么负责解析html及css并将解析后的结果显示出来。还可以解析xml文件。
js引擎:
用来解释执行js代码。
渲染流程:
用户输入URL整个过程发生了什么?
- 
输入url
 - 
浏览器解析url,获得主机名
 - 
将主机名转换成服务器ip地址(查找本地DNS缓存列表,如果没有则向默认的DNS服务器发送查询请求)
 - 
TCP 连接:TCP 三次握手,简易描述三次握手 客户端:服务端你在么? 服务端:客户端我在,你要连接我么? 客户端:是的服务端,我要链接。 连接打通,可以开始请求
 - 
发送 HTTP 请求
 - 
服务器处理请求并返回 HTTP 报文
 - 
浏览器解析渲染页面
 - 
断开连接:TCP 四次挥手
 
浏览器解析渲染页面过程:
- 
解析HTML,生成DOM树
 - 
解析CSS,生成CSSOM(层叠样式表模型:CSS Object Model)树
 - 
将DOM树和CSSOM树关联,生成渲染树(Render Tree)
 - 
布局render树(Layout/reflow),负责各元素尺寸、位置的计算
 - 
绘制render树(paint),绘制页面像素信息
 - 
将像素发送给GPU(图形处理器,是显卡的核心引擎),展示在页面上。(Display)
 
                    
                
                
            
        
浙公网安备 33010602011771号