一)用户访问页面时经过什么过程:
step1:用户访问浏览器某个页面时,会引起DNS解析 域名解释(后续会介绍什么叫DNS);
step2:DNS会解析完域名后,得到相对应的IP值;
step3:IP地址会向网络服务器发出请求;
step4:网络服务器会解析请求,向数据服务器发出请求;
step5:网络服务器获取数据(html,css,js)后,放在response中。返回响应;
step6:浏览器response,并下载文件,开启渲染,js解析机制;
二)浏览器一般有五个线程 :
a)GUI渲染线程;b)js引擎线程;c),浏览器定时器线程;d),浏览器时间触发线程;e),浏览器异步请求线程(针对外导文件,js文件,css文件,图片等资源)
三)渲染机制(渲染引擎)
定义:一边加载,一边解析,一边渲染,而且从上到下渲染,利用的线程有GUI线程, 若遇到引用外导文件,则调挂起用异步请求线程;若外导的是js文件,则其他所有文件挂起,造成 页面渲染阻塞;
顺序:
DOM------>CSSOM-------->render tree-------->layout-------->plaint
四)js引擎:
由js引擎线程负责,当运行该线程时,其他四个线程都要挂起,只有等到该线程完成后,其他线程才能继续执行;
本文详细介绍了用户访问网页时浏览器的加载过程,包括DNS解析、请求响应、渲染机制及JS引擎工作原理。同时,还解释了浏览器五线程模型如何协调各任务执行。

被折叠的 条评论
为什么被折叠?



