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

DNS解析:

DNS解析的过程就是根据域名查找 IP 地址。

TCP连接:

浏览器根据 IP 地址向服务器发起 TCP 连接,与浏览器建立 TCP 三次握手:

1.客户端向服务器发送一个建立连接的请求(客户端:我要连接你了,可以吗);
2.服务器接到请求后发送同意连接的信号(服务器:嗯,我准备好了,连接我吧);
3.客户端接到同意连接的信号后,再次向服务器发送了确认信号(客户端:那我连接你咯。),自此,客户端与服务器两者建立了连接。

当服务器与客户端建立连接之后,下面客户端便与服务器进行通信(客户端向服务器请求数据,服务器返回相应的数据):

发送HTTP请求(HTTP请求报文是由三部分组成: 请求行, 请求报头和请求正文。):
1.浏览器根据 URL 内容生成 HTTP 请求,请求中包含请求文件的位置、请求文件的方式等等;

服务器处理请求并返回HTTP报文(HTTP响应报文也是由三部分组成: 状态码, 响应报头和响应报文。):
2.服务器接到请求后,会根据 HTTP 请求中的内容来决定如何获取相应的 HTML 文件;
3.服务器将得到的 HTML 文件发送给浏览器;
4.在浏览器还没有完全接收 HTML 文件时便开始渲染、显示网页;
5.在执行 HTML 中代码时,根据需要,浏览器会继续请求图片、CSS、JavsScript等文件,过程同请求 HTML 。

断开连接–四次挥手

客户端向服务器发送一个断开连接的请求(不早了,我该走了);
服务器接到请求后发送确认收到请求的信号(知道了);
服务器向客户端发送断开通知(我也该走了);
客户端接到断开通知后断开连接并反馈一个确认信号(嗯,好的),服务器收到确认信号后断开连接;
补充说明

为什么服务器在接到断开请求时不立即同意断开:当服务器收到断开连接的请求时,可能仍然有数据未发送完毕,所以服务器先发送确认信号,等所有数据发送完毕后再同意断开。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值