浏览器渲染页面过程
用户在浏览器地址栏输入网址 到 页面加载完成,发生了什么?
客户端地址栏输入网址;
- 举个小白的例子:
小白(域名)
在一家大公司(云厂商)
上班,有天小红(客户端)
来看小白。
- 举个小白的例子:
域名解析;
- 也叫DNS解析,云厂商将域名转化为 IP 地址,IP 才是网站真正的网络地址;
- 接着奏乐接着舞:可他到了小白的公司,发现找不到小白,于是去找
前台小姐姐(DNS解析)
,小姐姐查了查小白的工位(IP)
,查到后告诉了小红。
TCP “三次握手”;
- 通过“三次握手”建立 TCP 连接,这里的三次是
建立连接成功
最少的通讯次数; - 接着奏乐接着舞:
- 第一次握手:小红到了办公室门口,有门禁,敲门后说:“
小白你在里面吗?我是小红。
”; - 第二次握手:小白说:“
我在,你是那个小红啊?
”; - 第三次握手:小红说:“
我是和你在东北玩泥巴的小红啊!
”,假设此时小白已认可小红。
- 第一次握手:小红到了办公室门口,有门禁,敲门后说:“
- 通过“三次握手”建立 TCP 连接,这里的三次是
客户端发送请求;
- 请求页面数据(一般会存在多次请求,html,css,js,图片······)
- 接着奏乐接着舞:小红将
目光(接口)
转向大方脸,大眼睛,大红唇(请求参数)
的小白。
服务器端响应;
- 服务器端接口收到请求,给予响应;
- 接着奏乐接着舞:小白发现自己被看着,站了起来(
小白现在的样子(响应数据)
已经通过目光(接口)
展现在小红的眼里、心里和深深脑海里(响应数据传递到客户端)
)。
页面渲染;
主要分为 DOM => CSSDOM => RenderTree => Layout => Painting => Display;
接着奏乐接着舞:小红和小白曾经在一起的经历
一一回想(逐步渲染)
,完整的小白呈现(页面渲染完成。老子说过:只有躯壳的人是不完整的。)
。更新中(将会详细剖析2到5阶段)······
原文作者: ShanYi Hui
原文链接: http://huishanyi.club/2020/09/03/Web性能优化/浏览器渲染页面过程/
版权声明: 转载请注明出处(必须保留作者署名及链接)