美文网首页
浏览器中从输入URL到页面渲染发生的事情?

浏览器中从输入URL到页面渲染发生的事情?

作者: 晴天的晴q | 来源:发表于2019-02-08 16:56 被阅读0次

    1、DNS域名解析

    用户输入url,例如http://www.baidu.com。其中http为协议,www.baidu.com为网络地址,即指出需要的资源在那台计算机上。使用域名是为了方便记忆,但是为了让计算机理解这个地址还需要把它解析为IP地址。客户端先检查本地是否有对应的IP地址,若找到则返回响应的IP地址。若没找到则请求上级DNS服务器,直至找到或到根节点。

    解析过程

    (1)在浏览器 DNS 缓存中搜索

    (2)在操作系统 DNS 缓存中搜索

    (3)读取系统 hosts 文件,查找其中是否有对应的 ip

    (4)向本地配置的首选 DNS 服务器发起域名解析请求

    2、建立TCP链接

    使用TCP协议可以保证可靠传输,但是在双方通信之前需要通过三次握手来建立链接。通信结束后通过四次分手来断开链接。

    3、发送HTTP请求

    HTTP请求包括请求报头和请求主体两个部分。其中请求报头包括请求的方法(GET / POST)、目标url、遵循的协议(http / https / ftp…)等,请求体中包含客户端向服务器发送的数据。

    4、使用ARP协议将IP地址解析成对应的MAC地址

    IP协议的作用是把数据发送到目标节点。而要保证数据能发送到接收端还需要接收端的MAC地址,也就是物理地址。IP地址和MAC地址是一一对应的关系,一个网络设备的IP地址可以更换,但是MAC地址一般是固定不变的。ARP协议(协助IP工作的协议)可以将IP地址解析成对应的MAC地址。

    5、通过数据链路层,把数据发送到目标地址

    在找到对方的MAC地址后,就将数据发送到数据链路层传输,这时客户端发送请求的阶段结束。

    6、接收响应结果

    服务器接收到客户端发送的HTTP请求后,查找客户端请求的资源,并返回响应报文,响应报文中包括一个状态码。接收文件(HTML、JS、CSS、图像等)。

    7、页面渲染

    对浏览器中接收到的资源(HTML、JS、CSS等)进行语法解析,建立相应的内部数据结构(比如 HTML 的 DOM 树,JS 的(对象)属性表,CSS 的样式规则等),进行页面的渲染。

    相关文章

      网友评论

          本文标题:浏览器中从输入URL到页面渲染发生的事情?

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