注:牛客职导前端课程笔记
1.浏览器运行原理
1.1浏览器的内部构造
用户界面
浏览器引擎:在用户界面和传送引擎之间传送指令。
渲染引擎:负责显示请求的内容。
网络
用户界面后端:用于绘制基本的窗口小部件。
JavaScript解释器
数据存储:持久层,这是一个完整的浏览器内数据库。
1.2浏览器的进程
进程:一个进程就是一个程序的运行实例。
线程:程序执行的最小单位。
关系:线程依附于进程,进程可以使用多线程并行处理来提高运算效率。
特点:
①线程中某个任务报错,阻止后面任务执行。
②进程中任意线程出错,整个进程崩溃。
③一个程序有多个进程时,一个崩溃不影响其他。
④线程之间共享数据,进程之间内容相互隔离。
浏览器进程:
现代浏览器是多进程的,每个标签页单独渲染,一个崩溃不影响其他。
浏览器进程:主要负责界面显示、用户交互、子进程管理,同时提供存储等功能。
渲染进程:核心任务是将HTML、CSS、和JavaScript转换为用户可以与之交互的网页,Blink和V8都是运行在该进程中的。
GPU进程:为了实现3D CSS的效果。
网络进程:页面的网络资源加载。
插件进程:插件的运行,因插件易崩溃,需要插件进程隔离,保证崩溃时其他进程不受影响。
1.3渲染进程
浏览器