# 输入URL到页面渲染出来,浏览器经历了什么?
一、DNS迭代查询
- 操作系统会首先在本地缓存中查找IP
- 没有的话去系统配置的DNS服务器中查询
- 没有的话去DNS根服务器查询,以www.baidu.com为例,这一步会负责找出.com这一级域名的服务器
- 然后去该服务器查找baidu这个二级域名
- 然后查找三级域名,可以给www这个域名配置一个IP,然后还可以给别的三级域名配置一个IP
二、TCP连接
TCP的三次握手
客户端:服务器你在吗?
服务器:客户端我在,你要连接我吗?
客户端:是的服务器,我要连接。
连接打通,可以开始请求了
三、发送HTTP请求
四、服务器处理请求并返回HTTP报文
五 、生成Render树,浏览器解析渲染页面
- 如果为200,浏览器开始解析文件,构建DOM树
- 如果是gzip格式的话会先解压一下
- 遇到CSS,就会开始构建CSSOM树
- 遇到Script,判断同步或异步加载
- 根据DOM和CSSOM规则,生成Render树
- 根据渲染树计算每一个节点的信息
- 根据计算好的信息绘制页面
六、断开连接:TCP四次握手