admin 管理员组

文章数量: 887021

1 .用户第一次访问网址,浏览器向服务器发出请求,服务器返回html文件

2 .浏览器开始载入html代码,发现head标签内有一个link标签引用外部css或者js文件。注意这里的icon,地址是一张图片,以及main.json是没有发现在请求列表的,可能之前就有了缓存

3 .浏览器又发出css以及js文件请求,服务器返回这个css,js文件

4 .浏览器继续载入html中body部分的代码,并且css,js文件已经拿到手了,可以开始渲染页面了

5 .浏览器在代码中发现一个img标签引用了一张图片,向服务器发出请求,此时浏览器不会等图片下载完,而是继续渲染后面的代码

6 .服务器返回图片文件,由于图片占用了一定面积,影响了页面布局,因此浏览器需要回过头来重新渲染这部分代码。

7 .浏览器发现了一个包含一行js代码的script标签,赶快执行他。

8 .js脚本执行了这条语句,他命令浏览器影藏掉代码中的某个div,此时浏览器不得不重新渲染这部分代码

9 .直到发现闭合的html标签

浏览器加载和渲染html的顺序

1 .ie浏览器下载的顺序是从上到下的,渲染的顺序也是从上到下,下载和渲染是同时进行的

2 .在渲染到页面的某一部分的时候,其上面所有部分都已经下载完成,但并不是说相关联的元素都以下载完毕

3 .如果遇到语义解释性的标签嵌入文件,那么此时ie的下载过程会启动单独连接进行下载

4 .并且在下载后进行解析,解析过程中,停止页面所有往下元素的下载,阻塞加载

5 .后面的样式表下载之后,将和之前的下载过的所有样式表一起进行解析,解析完成之后,将对此前所有元素(包括已经渲染)的元素重新渲染

6 .js,css中如果有重定义,那么后定义的函数将覆盖前定义的函数。

js的加载

1 .不能并行下载和解析

2 .当应用js之后,浏览器会发送一个js request就会一直等待该request的返回,因为浏览器需要一个稳定的dom树结构,而js中很有可能有代码会修改到dom树结构,甚至直接跳转,浏览器为了防止出现js修改dom树,需要重新构建dom树,所以就会阻塞其他的下载和呈现

3 .行间js将阻塞所有html代码的下载。

本文标签: 打开网页 器中 浏览器 过程 网站