作为一个技术小白来说,浏览器对我来说很复杂,F12的开发者工具也只是会用里面的小部分。
    我很认同一句话,浏览器是跑在操作系统上面的“操作系统”。

    打开浏览器的任务管理器,发现进程不止4个,了解了之后才发现,是因为除了浏览器主进程(页面显示、用户交互、子进程管理)之外,还有GPU进程(UI界面绘制),网络进程(网络资源的加载),以及渲染进程(将html、css和javascript转换成可以交互的页面)。而我多出来的进程就是插件进程,因为我还安装了谷歌的扩展工具。

    线程是由进程启动和管理的,进程中任一线程执行出错都会导致整个进程的崩溃。所以在早期的单进程浏览器时代,经常因为出问题的模块或者是插件导致整个浏览器的崩溃。不仅仅有不稳定这个弊端,单进程浏览器还有不流畅、不安全的隐患,如果有无限循环的脚本或者是用插件获得到操作系统的资源,也是十分麻烦的。

    而多进程的浏览器就解决了这一问题,进程是相互隔离的,页面运行在单独的渲染进程中,插件运行在单独的插件进程中,进程之间通过IPC机制进行通信。感觉就像是沙箱环境,就可以做到进程之间互不影响,也解决了安全问题。

    但是现在的浏览器还是有一定的问题,就是更高的资源占用以及更复杂的体系架构。浏览器的未来可期,推动浏览器的发展的动力当然是盈利啊,还有对市场的垄断啊,对市场进行垄断,就有了对标准制定的能力,,呦西西。。