从URL输入到页面展示中间被隐藏的操作
- DNS解析:将域名解析成IP供访问
- TCP链接:TCP三次握手
- 发送HTTP请求
- 服务器处理请求并返回报文
- 浏览器解析渲染页面
- 断开连接:TCP四次握手
URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网址。
域名解析(DNS)
DNS 协议提供通过域名查找 IP 地址,或逆向从 IP 地址反查域名的服务。DNS 是一个网络服务器,我们的域名解析简单来说就是在 DNS 上记录一条信息记录。
例如 baidu.com 220.114.23.56(服务器外网IP地址)80(服务器端口号)
TODO:三次握手
浏览器解析渲染页面
- 根据HTML解析DOM树
- 根据CSS解析CSS规则树
- 结合DOM树和CSS规则树,形成渲染树
- 根据渲染树计算每一个节点的信息
- 根据计算好的信息绘制页面
- 根据HTML解析DOM树
- 根据HTML的标签结构,进行深度优先遍历,构建节点。
- 在读取HTML文档时,如果遇到Script标签则DOM树构建暂停,先解析script标签中的内容。
- 根据CSS解析CSS规则树
- 解析 CSS 规则树时 js 执行将暂停,直至 CSS 规则树就绪。
- 浏览器在CSS规则树生成之前不会进行渲染
- 结合DOM树和CSS规则树,形成渲染树
- 当DOM树和CSS规则树准备好,浏览器才开始构建渲染树
- 精简CSS可以加快CSS渲染树的构建从而加快页面相应速度
- 根据渲染树计算每一个节点的信息
- 布局:根据渲染树中每一个节点的信息,来确定每一个节点的位置和尺寸
- 回流:当布局成功之后,某个局部发生了变换影响了布局,则就需要倒回去重新渲染
- 根据计算好的信息绘制页面
- 绘制阶段,系统会遍历呈现树,并调用呈现器的“paint”方法,将呈现器的内容显示在屏幕上。
- 重绘:某个元素的背景颜色,文字颜色,不影响周围或内部布局时,将只会引起浏览器的重绘。
- 回流:当某个元素的尺寸发生变化时,则需要重新计算渲染树,重新渲染。