从输入URL到浏览页面的过程

Posted amiezhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从输入URL到浏览页面的过程相关的知识,希望对你有一定的参考价值。

之前我们已经讨论过浏览器的渲染原理,今天我们来讨论下更广泛的从输入URL到渲染出页面的过程。

 

1. 查询URL对应的IP

  首先,到 host 文件查找,如果找到则返回。

  如果没有找到,去访问 DNS 服务器(一般先访问本地路由器,没有再访问更高级的 DNS 服务器),最终得到对应的 IP

2. 建立 TCP 连接

  首先,通过 IP 协议,指定 出发地 和 目的地

  然后,通过 OSPF 协议,计算路由的最佳路径,得到路过的每个路由器的 IP地址

  最后,再利用 ARP 计算出路径经过每个路由器的 MAC地址

3. 接收 html 字节流

  首先,把一个个字节拼接成字符串

  然后,通过词法分析,把字符串转换为一个个 Token

  最后,根据 Token,通过语法分析,构建成 DOM 树

4. 接收 css 字节流

  首先,把一个个字节拼接成字符串

  然后,通过词法分析,把字符串转换为一个个 Token

  最后,根据 Token,通过语法分析,构建成 CSSOM 树

5. 结合 CSSOM 和 DOM,生成 Render Tree

6. 遇到 script(有3种可能),如果有相关 DOM 操作,可以修改已构建部分的 DOM 树,从而改变 Render Tree

ps: 注意 3~6 整个过程都是流式的

以上是关于从输入URL到浏览页面的过程的主要内容,如果未能解决你的问题,请参考以下文章

从输入 URL 到页面加载完成的过程中都发生了啥事情

从输入URL到浏览页面的过程

浏览器从输入URL到渲染完页面的整个过程

最全从输入URL到浏览器显示页面都发生了啥前端浏览器渲染流程

当用户输入一个url地址后,到看到页面的过程,期间发生了啥?

输入url到页面展示的过程