一、读取缓存
浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有缓存,则直接进行下一步
二、DNS 解析
进行域名解析,获取对应的IP地址
三、TCP 连接
浏览器知道了服务器的 IP 地址,就要与服务器建立连接。
通信连接的建立需要TCP的三次握手:
(1)主机向服务器发送一个建立连接的请求(您好,我想认识您);
(2)服务器接到请求后发送同意连接的信号(好的,很高兴认识您);
(3)主机接到同意连接的信号后,再次向服务器发送了确认信号(我也很高兴认识您),自此,主机与服务器两者建立了连接。
四、发送 HTTP 请求
发送HTTP请求的过程就是构建HTTP请求报文并通过TCP协议中发送到服务器指定端口(HTTP协议80/8080, HTTPS协议443)。
HTTP请求报文是由三部分组成: 请求行, 请求报头和请求正文。
五、服务器处理请求并返回HTTP报文
HTTP响应报文也是由三部分组成: 状态码, 响应报头和响应报文。
六、浏览器解析渲染页面
浏览器是一个边解析边渲染的过程。首先浏览器解析HTML文件构建DOM树,然后解析CSS文件构建渲染树,等到渲染树构建完成后,浏览器开始布局渲染树并将其绘制到屏幕上。
七、连接结束
通过四次挥手关闭连接。
(1)主机向服务器发送一个断开连接的请求(不早了,我该走了);
(2)服务器接到请求后发送确认收到请求的信号(知道了);
(3)服务器向主机发送断开通知(我也该走了);
(4)主机接到断开通知后断开连接并反馈一个确认信号(嗯,好的),服务器收到确认信号后断开连接;
PS:本文非原创,内容均摘抄自他人文章,只是为了方便学习啦,见谅。
网友评论