以 Google Chrome 为例,chrome 是一个多进程架构
浏览器进程
- 浏览器进程。主要负责处理浏览器的界面交互、子进程管理、存储等功能
- 渲染进程
- GUI 渲染线程
- js 引擎线程(和 GUI 互斥)
- 定时器触发线程
- 事件触发线程
- 异步 http 请求线程
- IO 线程
- …
- GPU 进程。绘制 UI 界面
- 网络请求进程。处理页面网络请求和加载资源
- 插件进程
出于安全考虑,渲染进程和插件进程都是运行在沙箱模式下
需要注意的是,这些进程中,浏览器主进程、网络进程、GPU 进程都是所有 Tab 共用的
五层网络协议体系结构
- 应用层
- 传输层
- 网络层
- 数据链路层
- 物理层