前端性能优化

今天介绍前端性能优化,采用的方法是 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(关键渲染路径)。

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,695评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,569评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,130评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,648评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,655评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,268评论 1 309
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,835评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,740评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,286评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,375评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,505评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,873评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,357评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,466评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,921评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,515评论 2 359

推荐阅读更多精彩内容

  • 围绕前端的性能多如牛毛,涉及到方方面面,以我我们将围绕PC浏览器和移动端浏览器的优化策略进行罗列注意,是罗列不是展...
    流动码文阅读 677评论 0 0
  • 前端性能优化资料整理 页面性能差的直接后果是用户需要等待,而等待,尤其是不确定要多长时间的等待会给用户带来焦虑,为...
    飘零之雪阅读 820评论 2 3
  • 从雅虎军规看前端性能优化 本文大部分内容翻译自雅虎前端的性能优化,如何让页面加载更快,雅虎给出了多个规则,原文地址...
    cce117b0a0ce阅读 915评论 0 3
  • 在这个前端用户体验越来越重要的时代,你的页面稍微有点卡顿,都难以挽留用户。而作为一名有追求的前端,势必要力所能及地...
    SCQ000阅读 3,835评论 0 52
  • 要基于优势来工作。 现在人人都在谈优势,谈长板理论。 但是要是真的问别人“你的优势是什么?”,其实会发现大多数人是...
    杨熙Simon阅读 115评论 0 0