浏览器加载一个页面为什么那么多包

转自:https://blog.csdn.net/weixin_44239431/article/details/89576241

 浏览器加载页面资源的步骤如下(部分参考网络资料):

以下是浏览器的功能,自动去加载页面中的资源,用python的requests模块请求同一个页面,数据并不完整就是因为我们没有浏览器的继续请求功能。

1.用户输入网址(假设是第一次访问),浏览器向服务器发出请求,服务器返回html文件; 
2.浏览器开始载入html代码,发现<head>标签内有一个<link>标签引用外部CSS文件; 
3.浏览器又发出CSS文件的请求,服务器返回这个CSS文件; 
4.浏览器继续载入html中<body>部分的代码,并且CSS文件已经拿到手了; 
5.浏览器在代码中发现一个<img>标签引用了一张图片,向服务器发出请求。此时浏览器不会等到图片下载完,而是继续加载后面的代码; 
6.服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排布,因此浏览器需要回过头来重新渲染这部分代码; 
7.浏览器发现了一个包含一行Javascript代码的<script>标签,直接运行该脚本; 
8.Javascript脚本执行了这条语句,它命令浏览器隐藏掉代码中的某个<div> (style.display=”none”)。少了一个元素,浏览器不得不重新渲染这部分代码; 
9.</html>表示暂时加载完成; 
10.此时用户点了一下界面中的“换肤”按钮,Javascript让浏览器换了一下<link>标签的CSS路径; 
11.浏览器向服务器请求了新的CSS文件,重新加载页面。然后执行渲染过程。


 

猜你喜欢

转载自blog.csdn.net/sinat_38068807/article/details/89576916