浏览器页面渲染流程梳理

当我们在浏览器中输入网址并回车后,经历了哪些过程才能看到完整的页面呢?本文将详细介绍浏览器页面渲染的流程。

1. URL 解析

首先,浏览器会对输入的 URL 进行解析,将其分成协议、域名、路径等部分。然后,浏览器会向 DNS 服务器请求域名对应的 IP 地址。如果该域名没有被缓存,浏览器会向上级 DNS 服务器发出请求,直到找到对应的 IP 地址为止。

2. 建立连接

接下来,浏览器会根据协议(HTTP 或 HTTPS)建立与服务器的连接。如果是 HTTPS 协议,则需要进行 SSL 握手过程,确保通信安全。

3. 发送请求

连接建立完成后,浏览器会向服务器发送 HTTP 请求。请求包括请求方法、URL、协议版本、请求头和请求体等信息。

-- ----

------------------ -
  ------- -------
  -------- -
    --------------- ------------------
  --
  ----- ---------------- ----- ------ --
--
  -------------- -- ----------------
  ---------- -- ------------------
  ------------ -- ----------------------

4. 接收响应

服务器处理完请求后,会将响应(包括状态码、响应头和响应体等信息)发送回浏览器。如果服务器返回的是 HTML 页面,则浏览器会开始解析页面。

5. 构建 DOM 树

浏览器接收到 HTML 页面后,会根据 HTML 标记构建 DOM 树。HTML 标记按照嵌套关系组成一棵树,由根节点、元素节点、文本节点等组成。DOM 树的根节点是 document 对象。

---- ---- ---

--------- -----
------
  ------
    ----- ----------------
    ----------- -------------
  -------
  ------
    -------- -- - ------------
    ------- -- - --------------
  -------
-------

6. 构建 CSSOM 树

在构建 DOM 树的同时,浏览器还会根据 CSS 样式规则构建 CSSOM 树。CSSOM 树是由 CSS 规则按照层叠顺序组成的一棵树。

-- ---- --

---- -
  ---------- -----
-

-- -
  ------ ----
-

7. 生成渲染树

接下来,浏览器会将 DOM 树和 CSSOM 树合并成一棵渲染树,该树只包含需要显示的节点和样式信息。

8. 布局

浏览器会根据渲染树的信息,计算每个节点在屏幕上的位置和大小,并生成布局信息。

9. 绘制

最后,浏览器会根据布局信息,将页面绘制到屏幕上。这一过程被称为绘制或者合成。

通过了解浏览器页面渲染的流程,我们可以更好地理解前端页面性能优化的相关问题,例如如何减少 HTTP 请求、如何优化 DOM 和 CSSOM 的构建等。

本文介绍了浏览器页面渲染的整个流程,包括 URL 解析、建立连接、发送请求、接收响应、构建 DOM 树、构建 CSSOM 树、生成渲染树、布局和绘制等环节。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/32969