浏览器工作原理
2021-04-13 14:07:54 47 举报
AI智能生成
浏览器工作原理
作者其他创作
大纲/内容
chorme架构
多进程浏览器
Browser进程:主要负责界面显示、用户交互、子进程管理,同时提供存储等功能(只有一个)
第三方插件进程:主要是负责插件的运行,因插件易崩溃,所以需要通过插件进程来隔离,以保证插件进程崩溃不会对浏览器和页面造成影响(使用插件时创建)
GPU进程:其实,Chrome 刚开始发布的时候是没有 GPU 进程的。而 GPU 的使用初衷是为了实现 3D CSS 的效果,只是随后网页、Chrome 的 UI 界面都选择采用 GPU 来绘制,这使得 GPU 成为浏览器普遍的需求。最后,Chrome 在其多进程架构上也引入了 GPU 进程(最多一个)
浏览器渲染进程(内核):核心任务是将 HTML、CSS 和 JavaScript 转换为用户可以与之交互的网页,排版引擎 Blink 和 JavaScript 引擎 V8 都是运行在该进程中,默认情况下,Chrome 会为每个 Tab 标签创建一个渲染进程。出于安全考虑,渲染进程都是运行在沙箱模式下。
每一个tab页面可以看作是浏览器内核进程
GPU线程
js引擎线程
事件触发线程
定时触发器线程
异步http请求线程
网络进程:主要负责页面的网络资源加载,之前是作为一个模块运行在浏览器进程里面的,直至最近才独立出来,成为一个单独的进程
未来面向服务的架构
解决旧的架构方案的缺点
更高的资源占用:因为每个进程都会包含公共基础结构的副本(如 JavaScript 运行环境),这就意味着浏览器会消耗更多的内存资源。
更复杂的体系架构:浏览器各模块之间耦合性高、扩展性差等问题,会导致现在的架构已经很难适应新的需求了。
在资源受限的设备上
拓展知识
process-per-site-instance策略
TCP协议(添加专题训练深挖)
网络传输7层协议
IP/TCP/UDP
推荐《《趣谈网络协议》》、《Web 协议详解与抓包实战》
一个TCP连接的生命周期
建立连接阶段
TCP三次握手
传输数据阶段
接收端需要对每个数据包进行确认操作
断开连接阶段
TCP四次挥手
HTTP请求流程
导航流程
渲染流程
0 条评论
下一页