美文网首页
从输入URL到页面加载发生了什么?

从输入URL到页面加载发生了什么?

作者: 加油吧_ | 来源:发表于2018-05-30 14:07 被阅读8次
  1. DNS解析
    DNS解析的过程就是寻找哪台机器上有你需要资源的过程.
    从一个网址到IP地址的转换,这个过程就是DNS解析
  2. TCP连接
    浏览器根据 IP 地址向服务器发起 TCP 连接,客户端和服务端之间都要进行三次对话才开始正式传输内容,三次对话大概:
    客户端:我要连接你了,可以吗?
    服务端:嗯,我准备好了,连接我吧。
    客户端:那我连接你了。
    开始后面步骤
  3. 发送HTTP请求
    HTTP请求报文是由三部分组成: 请求行, 请求报头和请求正文。
  4. 服务器处理请求并返回HTTP报文
    HTTP响应报文也是由三部分组成: 状态码, 响应报头和响应报文。
  5. 浏览器解析渲染页面
    浏览器是一个边解析边渲染的过程。首先浏览器解析HTML文件构建DOM树,然后解析CSS文件构建渲染树,等到渲染树构建完成后,浏览器开始布局渲染树并将其绘制到屏幕上。
  6. 连接结束
    四次挥手
    主机向服务器发送一个断开连接的请求(不早了,我该走了);
    服务器接到请求后发送确认收到请求的信号(知道了);
    服务器向主机发送断开通知(我也该走了);
    主机接到断开通知后断开连接并反馈一个确认信号(嗯,好的),服务器收到确认信号后断开连接;

ps:

为什么服务器在接到断开请求时不立即同意断开:当服务器收到断开连接的请求时,可能仍然有数据未发送完毕,所有服务器先发送确认信号,等所有数据发送完毕后再同意断开。
第四次握手后,主机发送确认信号后并没有立即断开连接,而是等待了 2 个报文传送周期,原因是:如果第四次握手的确认信息丢失,服务器将会重新发送第三次握手的断开连接的信号,而服务器发觉丢包与重新发送的断开连接到达主机的时间正好为 2 个报文传输周期。

相关文章

网友评论

      本文标题:从输入URL到页面加载发生了什么?

      本文链接:https://www.haomeiwen.com/subject/exwtsftx.html