从输入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到浏览器显示页面都发生了啥前端浏览器渲染流程