浏览器架构

浏览器应用程序是多进程架构。 :::info

  • 对前端程序员来说,多进程可以保证安全性和沙箱。比如每个web页面都有独立的渲染进程,即使一个页面没有响应也不会影响其他页面。
  • 渲染进程会得到浏览器进程的副本,因此这会消耗内存,chrome会限制启动进程的数量。 ::: image.png

    站点隔离

    浏览器主进程

    主进程主要是负责界面显示、用户交互、子进程管理,同时提供存储等功能。

  • UI线程:绘制浏览器的界面及按钮。

  • 存储线程:读写文件。
  • 网络线程:收发网络数据。

    渲染进程

    核心任务是将 HTML、CSS 和 JavaScript 转换为用户能够与之交互的网页,排版引擎 Blink 和 JavaScript 引擎 V8 都是运行在该进程中。

  • 主线程

  • 工作者线程
  • 排版线程
  • 光栅线程
  • javascript解析线程

    参考文档

    https://developer.chrome.com/blog/inside-browser-part1/#which-process-controls-what
    https://blog.csdn.net/it_rod/article/details/79880745


    [

](https://www.zhihu.com/question/19732473/answer/14413599)