⽹站性能优化

⽹站性能优化

从前端角度出发可以从以下几个方面对网站性能进行优化


content ⽅⾯

减少 HTTP 请求:合并⽂件、 CSS 精灵、 inline Image
减少 DNS 查询: DNS缓存、将资源分布到恰当数量的主机名
减少 DOM 元素数量


Server ⽅⾯

使⽤ CDN
配置 ETag
对组件使⽤ Gzip 压缩


Cookie ⽅⾯

减⼩cookie⼤⼩


css ⽅⾯

将样式表放到⻚⾯顶部
不使⽤ CSS 表达式
使⽤ <link> 不使⽤ @import


Javascript ⽅⾯

将脚本放到⻚⾯底部
将javascript和css从外部引⼊
压缩javascript和css
删除不需要的脚本
减少DOM访问


图⽚⽅⾯

优化图⽚:根据实际颜⾊需要选择⾊深、压缩优化 css 精灵,不要在 HTML 中拉伸图⽚

 

渲染优化

  • 禁⽌使⽤ iframe (阻塞⽗⽂档 onload 事件)
    • iframe 会阻塞主⻚⾯的 Onload 事件;
    • 搜索引擎的检索程序⽆法解读这种⻚⾯,不利于SEO;
    • iframe 和主⻚⾯共享连接池,⽽浏览器对相同域的连接有限制,所以会影响⻚⾯的并⾏加载
    • 使⽤ iframe 之前需要考虑这两个缺点。如果需要使⽤ iframe ,最好是通过javascript动态给 iframe 添加 src 属性值,这样可以绕开以上两个问题
  • 禁⽌使⽤ gif 图⽚实现 loading 效果(降低 CPU 消耗,提升渲染性能)
  • 使⽤ CSS3 代码代替 JS 动画(尽可能避免重绘重排以及回流)
  • 对于⼀些⼩图标,可以使⽤base64位编码,以减少⽹络请求。但不建议⼤图使⽤,⽐较耗费 CPU

⼩图标优势在于:减少 HTTP 请求;避免⽂件跨域;修改及时⽣效。

  • ⻚⾯头部的 <style></style> <script></script> 会阻塞⻚⾯;(因为 Renderer进程中 JS 线程和渲染线程是互斥的)
  • ⻚⾯中空的 href 和 src 会阻塞⻚⾯其他资源的加载 (阻塞下载进程)
  • ⽹⻚gzip,CDN托管,data缓存,图⽚服务器
  • 前端模板 JS+数据,减少由于 HTML 标签导致的带宽浪费,前端⽤变量保存AJAX请求结果,每次操作本地变量,不⽤请求,减少请求次数
  • ⽤innerHTML 代替DOM操作,减少DOM操作次数,优化javascript性能
  • 当需要设置的样式很多时设置className⽽不是直接操作style
  • 少⽤全局变量、缓存 DOM节点查找的结果。减少IO读取操作
  • 图⽚预加载,将样式表放在顶部,将脚本放在底部 加上时间戳
  • 对普通的⽹站有⼀个统⼀的思路,就是尽量向前端优化、减少数据库操作、减少磁盘 IO

posted on 2022-04-25 17:33  前端码牛  阅读(18)  评论(0编辑  收藏  举报

导航