一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?

1,DNS解析

进行域名解析,获取对应的IP地址

2,TCP连接

浏览器知道了服务器的 IP 地址,就要与服务器建立连接。
通信连接的建立需要TCP的三次握手:
(1)主机向服务器发送一个建立连接的请求(您好,我想认识您);
(2)服务器接到请求后发送同意连接的信号(好的,很高兴认识您);
(3)主机接到同意连接的信号后,再次向服务器发送了确认信号(我也很高兴认识您),自此,主机与服务器两者建立了连接。

3,发送HTTP请求

发送HTTP请求的过程就是构建HTTP请求报文并通过TCP协议中发送到服务器指定端口(HTTP协议80/8080, HTTPS协议443)。
HTTP请求报文是由三部分组成: 请求行, 请求报头和请求正文。

4,服务器处理请求并返回HTTP报文

HTTP响应报文也是由三部分组成: 状态码, 响应报头和响应报文。

5,浏览器解析渲染页面

浏览器是一个边解析边渲染的过程。首先浏览器解析HTML文件构建DOM树,然后解析CSS文件构建渲染树,等到渲染树构建完成后,浏览器开始布局渲染树并将其绘制到屏幕上。

6,连接结束

通过四次挥手关闭连接。
(1)主机向服务器发送一个断开连接的请求(不早了,我该走了);
(2)服务器接到请求后发送确认收到请求的信号(知道了);
(3)服务器向主机发送断开通知(我也该走了);
(4)主机接到断开通知后断开连接并反馈一个确认信号(嗯,好的),服务器收到确认信号后断开连接;

你可能感兴趣的:(一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?)