浏览器核心架构是指浏览器采用的多进程协作模式,将不同功能模块拆分到独立进程中运行,以提高稳定性、安全性和性能。
解决的核心痛点:如何在保证稳定性和安全性的同时,提供流畅的 Web 浏览体验?
核心命题
- 浏览器采用多进程架构保证稳定性和流畅性
- 原理:渲染进程、GPU 进程、网络进程独立运行,一个页面崩溃不影响其他页面
- 浏览器通过IPC机制实现进程间通信
- 原理:主进程作为协调者,通过 IPC 与各子进程交换数据
运行机制
graph TD Main["主进程<br>Browser Process"] --> IPC["IPC<br>进程间通信"] IPC --> Render["渲染进程"] IPC --> GPU["GPU 进程"] IPC --> Network["网络进程"] IPC --> Plugin["插件进程"] subgraph Render Blink["渲染引擎"] --> V8["JS 引擎"] end
关键区别
| 维度 | 单进程浏览器 | 多进程浏览器 |
|---|---|---|
| 架构 | 所有模块在同一进程 | 模块分散在独立进程 |
| 稳定性 | 一个模块崩溃导致全局崩溃 | 单个进程崩溃不影响其他 |
| 资源占用 | 低 | 高 |
| 代表 | 早期 IE | Chrome、Firefox |
应用场景
- ✅ 适用场景
- 现代 Web 应用:需要高稳定性和安全性的场景
- 复杂页面:多标签页同时运行
- ⛔ 误用
- 资源受限设备:低内存设备不适合多进程
知识图谱
- 父级概念:浏览器 — 浏览器核心架构是浏览器的重要组成部分
- 子级概念:
- 相关概念: