通过观看周啸天公开课——深度刨析前端性能优化CRP对百度到的各种杂七杂八的前端性能优化方面的问题进行梳理

先来说一下,前端页面的请求过程有如下几个步骤:(脑子里想一下这个过程哈)
步骤1:对输入地址栏的URL进行解析
步骤2:DNS解析
步骤3:TCP的3次握手
步骤4:发送HTTP请求
步骤5:服务器端的响应处理
步骤6:TCP的4次挥手
步骤7:浏览器进行解析渲染

步骤1有关URL解析并未进行深入讲解,主要涉及
1)地址解析与编码
2)HSTS(完全没见过,说是涉及安全问题啥的。)
3)缓存(这个还好,至少见过,应该是与强缓存和协商缓存有关)
4)。。。。。

步骤3和步骤6是网络传输内容,与前端优化的关系不大。
步骤5是后台问题,关系也不大

先重点说一下步骤7,浏览器的解析渲染:
首先,先来说一下步骤7的渲染流程:
DOM树的渲染------>CSSOM树的渲染------>渲染树

1.DOM树渲染步骤:
1)返回的最底层的其实是一些十六进制数的形式(3C 2C 79 3E 6F)
2)通过转化使这些十六进制转化为了‘标签’字符集(html head body p)
3)通过Tokens令牌,对这些字符集进行‘闭合’的处理(比如,哦~这个是html的起始标签,然后中间罗里吧嗦一大堆之后,哦!找到你了,html的闭合标签)
4)通过词法分析,把令牌搞出来的东西生成具体的节点,这个过程已经把DOM的结构搭建好了
5)最后生成了一个有标签,有结构,有层级的树形的DOM结构

ok,分析完了DOM树的渲染步骤了,我们来对他进行优化:
1).在步骤2到步骤3的过程中,Tokens令牌是W3C规范的,所以,你的标签要语义化,这样才能更快更好的进行分析。
2).步骤3到步骤4过程中,在进行节点生成时,你的层级结构要尽可能的少,这样才更快。最优的层级应该三四级。

2.CSSOM树的渲染:
大体与DOM的过程相同。
这里不得不说一点,css样式的引入,link外部引入和@import,有什么不同呢?
link是异步的,也是一个http请求。而@import是同步的,回阻碍下边内容的渲染。
优化:
1)选择器的层级问题
2)由不得不说的一点,得出如下如何引入结论:
若样式较少,采用内部样式style标签,因为它不需要http请求
若样式很多,采用link标签,放在顶部,尽早的把css样式下载下来
一般不用@import,除非需求需要(这里可能涉及到了步骤4,发送HTTP请求的内容)
PS:
CSS选择器的渲染是由右向左的,注意层级问题
CSS预编译器(less sass stylus)虽然在开发,维护,复用特别好使,但是一定要注意层级问题

3.渲染树:
当DOM与CSSOM树加载完成后,融合为渲染树(render tree)
根据渲染树,计算视图内的确切位置,这个布局计算称为回流
根据渲染树和回流得到的计算结构,得到节点的绝对像素,称为绘制
因此优化主要就是:减少DOM的回流和重绘

ok,步骤7浏览器的解析渲染方面的优化就先这样了,你总结一下在网上百度到的优化方法哪些是属于浏览器渲染这一块的,想想。

未完待续~~~

前端性能优化,之还在为多种多样的知识点整理苦恼吗,进来看看吧。相关推荐

  1. 前端性能优化,之还在为多种多样的知识点整理苦恼吗,进来看看吧。(转载)

    通过观看周啸天公开课--深度刨析前端性能优化CRP对百度到的各种杂七杂八的前端性能优化方面的问题进行梳理 先来说一下,前端页面的请求过程有如下几个步骤:(脑子里想一下这个过程哈) 步骤1:对输入地址栏 ...

  2. 做前端性能优化,还不知道什么是Preload、Prefetch、Preconnect、Prerendering,你就out了?

    做前端性能优化,还不知道什么是Preload.Prefetch.Preconnect? 今天,我们将探讨当前的资源提示和指令,这是提高网站或 Web 应用程序性能的另一种好方法.您可能听说过Prelo ...

  3. gc的原因 频繁full_Java性能优化要点之:GC垃圾回收知识点整理

    要掌握了GC垃圾回收的相关知识点,程序员在工作中就不用担心内存管理了,因为垃圾收集器会自动进行管理.本文为大家整理了GC垃圾回收的学习笔记,主要内容包括了判断回收条件,虚拟机频繁full GC的解决对 ...

  4. 深度讲解:web前端性能优化

    一.课程简介: 1.课程大纲 涉及到的分类 网络层面 构建层面 浏览器渲染层面 服务端层面 涉及到的功能点 资源的合并与压缩 图片编解码原理和类型选择 浏览器渲染机制 懒加载预加载 浏览器存储 缓存机 ...

  5. 大型网站技术架构(3):WEB 前端性能优化

    上次说到了性能优化策略,根据网站的分层架构,可以大致的分为 web 前端性能优化,应用服务器性能优化,存储服务器性能优化三大类 这次来说一下 web 前端性能优化,一般来说,web 前端就是应用服务器 ...

  6. 前端性能优化——从 10 多秒到 1.05 秒

    https://lishaoy.net 关于 性能优化 是个大的面,这篇文章主要涉及到 前端 的几个点,如 前端性能优化 的流程.常见技术手段.工具等. 提及 前端性能优化 ,大家应该都会想到 雅虎军 ...

  7. 如何给网站瘦身?图文并茂的前端性能优化指南

    提高网站的速度对网站的成功有巨大的影响,因为网站的加载速度直接影响到用户体验和搜索引擎排名.Browser Diet 是一个非常好的指南,列出了前端性能优化的各种技巧和工具. 您可能感兴趣的相关文章 ...

  8. 前端性能优化:当页面渲染遇上边缘计算

    简介: 当前几种常见的前端性能优化方案仍然不可避免地会存在一些缺点.本文在 ESI (Edge Side Include) 的基础上,提出了一种新的优化思路:边缘流式渲染方案(ESR),即借助 CDN ...

  9. 前端性能优化 -- 从 10 多秒到 1.05 秒

    关于 性能优化 是个大的面,这篇文章主要涉及到 前端 的几个点,如 前端性能优化 的流程.常见技术手段.工具等. 提及 前端性能优化 ,大家应该都会想到 雅虎军规,本文会结合 雅虎军规 融入自己的了解 ...

最新文章

  1. 在.Net程序中使用log4net记录日志(示例)
  2. 皮一皮:这是什么鬼畜产品!
  3. hadoop程序开发--- Java
  4. 轻松处理高于平常10倍的视频需求,还能节省60%的IT成本,蓝墨做对了什么?
  5. 算法专题(1)-信息学基本解题流程!
  6. CSS单位 px pt em和rem 之间的区别
  7. 高中计算机表格制作,高中信息技术表格数据的处理教案
  8. Alexa 智能音箱开发智能家居
  9. flask框架的使用
  10. ppt流程图箭头分叉_PPT实用模版大全(最全箭头、流程图).ppt
  11. 玩到全身僵直!07年最强的9款PC游戏
  12. BaseAdataer基本设配器
  13. unity3D埃及探险游戏源码,支持安卓+IOS双端 unity2019 C#语言开发
  14. SSRNet:用于大规模点云表面重建的深度学习网络(CVPR2020)
  15. Java实现菱形图案
  16. python数据分析入门详解!!!非常详细!!!
  17. 查看和修改G120变频器参数的具体方法(BOP-2面板+Startdrive)
  18. 小扎动刀!Meta启动史上最大规模裁员,数千人将失业
  19. 电脑使用技巧(卸载腾讯电脑管家之后系统崩溃)
  20. 项目-OOP版电子词典

热门文章

  1. 微盟副总裁樊欣:洞见下一个风口
  2. JSP入门教程:JSP简明教程
  3. 马加爵 谭卓 牛顿等人在天堂的对话
  4. [Unityamp;amp;Steam]Steam各种用户数据查询
  5. 解决Win10网络重置后WIFI和以太网丢失问题
  6. 计算机保研夏令营预推免面试经验(吉林大学+哈工大威海+北京理工医工融合
  7. Automatic extrinsic calibration between a camera and a 3D Lidar using 3D point and plane corresponde
  8. Android 7.1 车机 Android 系统 在线升级,将安装到下载到/data/目录下面
  9. 1(基于SpringBoot)疫情下的在线办公签到系统-从零构建后端项目基础篇
  10. 利用iPS细胞筛选新药研究进展