美文网首页
从输入 URL 到页面加载显示完成的过程

从输入 URL 到页面加载显示完成的过程

作者: D一梦三四年 | 来源:发表于2017-12-24 14:40 被阅读0次

    1. DNS解析

    • 浏览器搜索自己的 DNS 缓存
    • 搜索操作系统中的 DNS 缓存
    • 搜索操作系统的 hosts 文件
    • 操作系统将域名发送至运营商查找自己的 DNS 缓存,查找成功则返回结果,失败则发起一个 DNS 解析请求;
    • 运营商将得到的 IP 地址返回给操作系统,同时自己也将 IP 地址缓存起来;
    • 操作系统将 IP 地址返回给浏览器,同时自己也将 IP 地址缓存起来;

    2. 建立连接,三次握手

    • 主机向服务器发送一个建立连接的请求( 您好,我想认识您 );
    • 服务器接到请求后发送同意连接的信号( 好的,很高兴认识您 );
    • 主机接到同意连接的信号后,再次向服务器发送了确认信号( 我也很高兴认识您),自此,主机与服务器两者建立了连接。

    3. 网页请求与显示

    • 浏览器根据 URL 内容生成 HTTP 请求,请求中包含请求文件的位置、请求文件的方式等等;
    • 服务器接到请求后,会根据 HTTP 请求中的内容来决定如何获取相应的 HTML 文件;
    • 服务器将得到的 HTML 文件发送给浏览器;
    • 浏览器会将HTML解析成一个DOM树;
    • 在执行 HTML 中代码时,根据需要,浏览器会继续请求图片、CSS、JavsScript等文件,过程同请求 HTML ;
    • 将CSS解析成 CSS树 ;
    • 根据DOM树和CSS树来构造渲染树

    4. 四次挥手,断开连接

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

    5. 补充说明

    • DNS: 每个域名都对应一个或多个提供相同服务服务器的 IP 地址,只有知道服务器 IP 地址才能建立连接,所以需要通过 DNS 把域名解析成一个 IP 地址;
    • IP 地址与域名不是一一对应的关系:可以把多个提供相同服务的服务器 IP 设置为同一个域名,但在同一时刻一个域名只能解析出一个 IP地址;同时,一个 IP 地址可以绑定多个域名,数量不限;
    • TCP 协议:三次握手的过程采用 TCP 协议,其可以保证信息传输的可靠性,三次握手过程中,若一方收不到确认信号,协议会要求重新发送信号。

    相关文章

      网友评论

          本文标题:从输入 URL 到页面加载显示完成的过程

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