从输入url到页面展示发生了什么?其中再页面渲染以及网络请求响应的性能优化方面,我们分别可以做哪些优化工作?

从输入url到页面展示发生了什么?其中再页面渲染以及网络请求响应的性能优化方面,我们分别可以做哪些优化工作?

url到页面展现过程

  1. 首先,客户端浏览器输入URL,由于是域名,应用层DNS开始解析域名;
  2. 接着,应用层客户端发送一个HTTP请求,把拿到的应用层HTTP请求报文数据分割编号,为了方便安全的传输,传输层会通过TCP三次握手建立TCP/IP连接;
  3. 建立连接后网络传输层IP协议会查询服务器MAC地址也就是物理地址进行数据包的传输,找到对方的MAC地址后,将数据发送到数据链路层传输,到此客户端发送请求阶段结束;
  4. 接收端的服务器在数据链路层接收到数据包,再通过相反的方式将数据一层一层的还原回应用层;
  5. 服务器接收到客户端发送的HTTP请求后,会查找客户端请求的资源,并返回响应报文;请求成功后,服务器会返回相应的页面,浏览器接收到响应成功的报文后便开始下载网页,至此,网络通信结束;
  6. 浏览器拿到网页文件后,首先根据顶部定义的DTD类型进行对应解析方式,网页解析会交给内部GUI渲染线程处理;
  7. 接着构建DOM树和CSSOM树,过程中,如果遇到节点是JS,就会调用JS引擎对JS代码进行解析执行,此时由于JS引擎和GUI渲染线程互斥,GUI渲染线程会被挂起,渲染过程停止,如果JS代码的运行中对DOM树进行了修改,那么DOM构建要从新开始,然后DOM树和CSSOM树构建为渲染树;
  8. 然后进入布局阶段,计算渲染树节点在设备视口内的确切位置和大小;
  9. 再接着将渲染树中每个节点转换成屏幕上的实际像素,也就是绘制阶段;
    10.最后合成阶段浏览器会将各层信息发送给GPU,GPU将各层合成,显示在屏幕上

可优化的工作:

  1. DNS的优化
  2. 资源的合并与压缩;减小http请求次数,减小数据传送的体积
  3. 减少重回与回流
  4. 按需导入对应组件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值