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代码的下载。
版权声明:本文标题:html在浏览器中打开就是网站,浏览器打开网页的过程 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1715782612h651095.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论