# 输入URL到页面渲染出来,浏览器经历了什么?


一、DNS迭代查询

  1. 操作系统会首先在本地缓存中查找IP
  2. 没有的话去系统配置的DNS服务器中查询
  3. 没有的话去DNS根服务器查询,以www.baidu.com为例,这一步会负责找出.com这一级域名的服务器
  4. 然后去该服务器查找baidu这个二级域名
  5. 然后查找三级域名,可以给www这个域名配置一个IP,然后还可以给别的三级域名配置一个IP

二、TCP连接
TCP的三次握手
客户端:服务器你在吗?
服务器:客户端我在,你要连接我吗?
客户端:是的服务器,我要连接。
连接打通,可以开始请求了

三、发送HTTP请求
四、服务器处理请求并返回HTTP报文

五 、生成Render树,浏览器解析渲染页面

  • 如果为200,浏览器开始解析文件,构建DOM树
  • 如果是gzip格式的话会先解压一下
  • 遇到CSS,就会开始构建CSSOM树
  • 遇到Script,判断同步或异步加载
  • 根据DOM和CSSOM规则,生成Render树
  • 根据渲染树计算每一个节点的信息
  • 根据计算好的信息绘制页面

六、断开连接:TCP四次握手