美文网首页
前端性能优化

前端性能优化

作者: Y_莫寒 | 来源:发表于2020-03-30 15:33 被阅读0次

今天介绍前端性能优化,采用的方法是 CRP(关键渲染路径),也就是在关键点上做优化

首先,抛出一个问题,当我们在浏览器输入一个地址,到页面渲染成功,发生了什么?

这个问题的答案百度一下,到处都是。在此,我说一下我的理解:

  这个过程总共有7个过程完成

一、URL解析

二、DNS解析

三、TCP三次握手,建立客户端与服务端的连接通道

四、发送HTTP请求

五、服务器处理和响应

六、TCP的四次挥手,关闭客户端和服务端的连接通道

七、浏览器解析渲染

对于我们前端来说,优化的重点放在 DNS解析、与浏览器解析上,外加缓存

关键路径一浏览器解析过程:

1、生成DOM树                           //标签语义化、避免多级嵌套(最佳不超过四层)

2、生成CSSOM树                      //css解析过程是从右到左解析,所以避免多层级嵌套(尤其是在使用sass 或 less 过程中)

3、将DOM树与CSSOM树融合成渲染树

4、通过布局计算 回流....完成页面渲染

这个过程中,有一些需要注意的点: 一、HTML与CSS都是阻碍页面渲染的东西,二、引入CSS的方法有link 与  @import ,前者是通过异步的方式请求资源,后者是通过同步的方式请求资源。在开发过程中,应该减少@import 的使用。在遇到样式极少的情况下,建议直接写在页面顶部<style></style>里面。三、js加载,为了让页面加载速度更快,在页面中遇到<script> 标签的  ,如果加载的这个js文件有依赖 可以加关键字async ( < script async>),如果没有依赖加关键字 defer ( < script  defer>),在开发过程中,大部分请情况下加 defer 。四、页面渲染一次必然有一次回流和重绘,所以为了减少页面回流,应该少操作DOM。

以上说的这几点,利用框架 vue 或者react 开发,是可以避免的。

关键路径二:网络交互层面上的优化:

1、DNS方面的优化

    每一次DNS解析时间预计20-120毫秒   / 减少DNS请求次数   / DNS预解析(下图淘宝为例)

2、减少HTTP请求次数和请求资源大小

资源合并压缩 / 使用字体图标 / 数据延迟分批加载 / CDN资源 ......

3、利用好缓存资源

如果第一次请求了,以后重新加载页面,直接读取缓存。

常用缓存有 内存缓存 硬盘缓存

使用情况:  打开网页输入地址,直接查找硬盘缓存;

                    F5刷新,优先查找内存缓存,然后查找硬盘缓存;

                    强制刷新:全部服务器请求资源。

在这一方面, 更多的操作是服务端来配置一些参数,与前端关联性不大。

在之后面试过程中,如果提及到前端优化的问题,就可以从这些点分别去阐述,思想: CRP(关键渲染路径)。

以上就是我对前端优化的一点认识,当然还有更多层面的优化,例如:代码运行方面、代码编译、安全等方面。希望同学们补充、或者有不对的地方,提出意见。

相关文章

  • 前端性能优化(中)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(上)...

  • 前端性能优化(下)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(中)...

  • 前端性能优化(上)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 为什么要进行前端性能...

  • 前端面试必问及加分点---性能优化篇

    如何进行网站性能优化 你有用过哪些前端性能优化的方法? 谈谈性能优化问题 代码层面的优化 前端性能优化最佳实践

  • 前端性能优化

    对于前端的性能优化,主要有分为加载优化和性能优化。在Google官方文档中,给出了性能优化有哪些好处。前端优化的最...

  • 常用的后端性能优化六种方式:缓存化+服务化+异步化等

    性能优化专题 前端性能优化 数据库性能优化 jvm和多线程优化 架构层面优化 缓存性能优化 常用的后端性能优化六大...

  • 关于前端性能优化问题详解

    关于前端性能优化问题详解 出处:http://segmentfault.com/blogs 前端性能优化指南 AJ...

  • 前端性能优化

    前端性能优化 下面是我认知的前端性能优化的策略,本书主要着手 JavaScript 优化展开阐述。 JavaScr...

  • 2019-10-22

    2018 前端性能优化清单

  • 2020-04-11

    前端工程化相关 前端动画相关 优化前端性能

网友评论

      本文标题:前端性能优化

      本文链接:https://www.haomeiwen.com/subject/dpfvuhtx.html