第六篇 计算机网络基础 - 浏览器 - 输入 url 后经历的流程

发布时间 2023-03-28 15:58:29作者: caix-1987

输入 URL 到浏览器显示页面 流程如下

1、首先进行 url 地址解析 确认 URL 格式是否合法

2、接下来把合法的 url 域名地址发送至 DNS 服务器 获取域名对应的 服务器 IP 地址

2、进入 HTTP缓存 机制 检查浏览器是否有缓存,这里的缓存分为 强缓存 和 协商缓存

   1、首现会 通过 请求体的 cache-contol 字段来检查是否命中 强缓存,如果命中,则直接读取缓存数据
   
   2、如果没有命中 强缓存 会进入 协商缓存 的检查 如果判断命中了 协商缓存 则直接读取缓存数据
   
3、没有缓存的话 接下来 会与 服务器 通过 三次握手 建立 TCP 连接

4、通过 TCP 连接并获取的 响应数据后 会 通过 四次挥手 确认关闭和服务器的连接 然后进入到 浏览器的渲染流程

5、浏览器的渲染流程大致分为 5 步

  第一步,构建 DOM 树:用 HTML 分析器,分析 HTML 元素,构建一棵 DOM 树;

  第二步,生成样式表:用 CSS 分析器,分析 CSS 文件和元素上的 inline 样式,生成页面的样式表;

  第三步,构建 Render 树:将 DOM 树和样式表关联起来,构建一棵 Render 树(Attachment)。

  第四步,确定节点坐标:根据 Render 树结构,为每个 Render 树上的节点确定一个在显示屏上出现的精确坐标;

  第五步,绘制页面:根据 Render 树和 节点显示 坐标,然后调用每个节点的 paint 方法,将它们绘制出来