Boaz

从浏览器到页面渲染、究竟做了些什么事?
1、浏览器(客户端)进行了地址解析。浏览器对这个url地址进行解析=>获取协议,主机,端口,路径等信息。2、...
扫描右侧二维码阅读全文
30
2021/03

从浏览器到页面渲染、究竟做了些什么事?

1、浏览器(客户端)进行了地址解析。

浏览器对这个url地址进行解析=>获取协议,主机,端口,路径等信息。

2、将解析出的域名进行dns解析。

通过地址解析=>获得主机地址也就是域名=>dns解析转换为ip地址

3、通过ip寻址和arp,找到目标(服务器)地址。

通过dns解析=>获取ip地址=>ip寻址找到对应服务器=>arp协议转换mac地址

4、进行tcp三次握手,建立tcp连接。

找到目标服务器地址=>浏览器发出请求建立稳定的tcp连接

三次握手:
1)Client:嘿,李四,是我,听到了吗?
发送端发送带有SYN标志的数据包给接收方。
2)Server:我听到了,你能听到我的吗?
接收方接收后回传带有SYN/ACK标志的数据包确认信息
3)Client:好的,我们互相都能听到对方的话,我们的通信可以开始了。
最后发送方回传带有ACK标志的数据包、握手结束

四次挥手:
1)Client:我所有东西都说完了
发送方发送一个FIN给接收方用来关闭数据传送通道
2)Server:我已经全部听到了,但是等等我,我还没说完
接收方接收后发送ACK标志数据包给发送方表示确认、并确认是否完全传输完所有数据
3)Server:好了,我已经说完了
接收方确认完全传输完所有数据发送FIN给发送方用于关闭数据传送通道
4)Client:好的,那我们的通信结束l
发送方收到FIN后发送ACK标志数据包给接收方表示确认并关闭数据传通道

5、浏览器发送数据,等待服务器响应。

建立tcp连接=>请求包装=>发送请求报文到服务器

6、服务器处理请求,并对请求做出响应。

服务器接收到请求报文=>处理请求报文=>执行接口对应代码=>响应客户端

7、浏览器收到服务器响应,得到html代码。

浏览器接收响应数据=>处理并解析数据
需要注意的是content-type在accept中能正常解析、如果不能解析会直接下载、或者解析报错。
accept代表发送端(客户端)希望接受的数据类型
content-type代表服务器返回的数据类型

8、渲染页面。

成功解析=>渲染页面
解析步骤:
html解析->外部样式、脚本加载->外部样式执行->外部脚本执行->html继续解析->dom树构建完成->加载图片->页面加载完成。

————————————————

转载自 略有简化补充
https://blog.csdn.net/weixin_38150378/article/details/79408886
https://blog.csdn.net/weixin_38150378/article/details/79443584

Last modification:March 30th, 2021 at 11:24 am
If you think my article is useful to you, please feel free to appreciate

Leave a Comment