(1)URL解析:判断用户输入的是否为合法的 URL,包括协议、域名、端口、请求的资源路径等
(2)DNS查询:通过 DNS 域名解析,找到目标服务器的 ip 地址
(3)TCP连接:在确定服务器的 ip 地址后,通过三次握手建立 TCP 连接
(4)HTTP请求:建立连接后,浏览器就可以发生 HTTP 请求到目标服务器。请求内容包括 请求行、请求头、请求体。
(5)响应请求:当服务器接受到请求后,查找请求的资源并返回一个 HTTP 响应,包括 状态行、响应头、响应体
(6)页面渲染:当收到响应的资源时,浏览器进行解析,生成DOM树,最终将页面渲染到屏幕上。
页面渲染流程分为两个阶段:解析阶段和渲染阶段
解析阶段
- 解析 HTML ,生成 DOM树(分为标记化阶段、树构造阶段)
- 解析 CSS,进行样式计算,生成 CSSOM 树
- 遍历 DOM树,计算节点的几何信息,生成布局树
渲染阶段
- 对特定的节点分层(如z-index、transform),生成图层树
- 渲染引擎将图层的绘制差分为一个个绘制指令,生成绘制列表
- 绘制由合成线程完成,会将图层分块绘制
- 绘制后,将图块交给栅格化线程池生成位图,再由显示器显示