WEB前端性能优化小结
2023-09-27 14:27:24 时间
转:http://www.gafish.net/archives/1514
对前端开发工程师来说,前端性能优化的重要性是不言而喻的,最为大家所知的是YSLOW的23条优化规则,在我的理解中,性能优化不纯粹是指用户访问网站的速度,也包括开发的效率,这里我总结下我理解中的WEB前端性能优化。
HTML部分
- 语义化HTML:好处在于可以使代码简洁清晰,支持不同设备,利于搜索引擎,便于团队开发;
- 减少DOM节点:加速页面渲染;
- 给图片加上正确的宽高值:这可以减少页面重绘,同时防止图片缩放;
- 防止src属性和link的href属性为空:当值为空时,浏览器很可能会把当前页面当成其属性值加载;
- 正确的闭合标签:如避免使用<div/>,浏览器会多一个将它解析成<div\></div\>的过程;
- 链接为目录或首页的地址后面加”/”,如http://www.qq.com/;
- 用LINK而不用@import方式导入样式;
- 样式放在页头,JS放在页尾;
- 缩小favicon.ico并缓存;
CSS部分
- 避免使用 CSS Expressions(CSS表达式):如background-color: expression( (new Date()).getHours()%2 ? “#B8D4FF” : “#F08A00″ ) ;
- 避免使用 CSS Filter(CSS滤镜);
- 使用CSS缩写,减少代码量;
- 通过CSSSprites把同类图片合成一张,减少图片请求;
- 减少查询层级:如.header .logo要好过.header .top .logo;
- 减少查询范围:如.header>li要好过.header li;
- 避免TAG标签与CLASS或ID并存:如a.top、button#submit;
- 删除重复的CSS;
Javscript部分
- 尽量少用全局变量;
- 使用事件代理绑定事件,如将事件绑定在body上进行代理;
- 避免频繁操作DOM节点;
- 不使用EVAL;
- 减少对象查找,如a.b.c.d这种查找方式非常耗性能,尽可能把它定义在变量里;
- 类型转换:把数字转换成字符串使用”” + 1,浮点数转换成整型使用Math.floor()或者Math.round();
- 对字符串进行循环操作,譬如替换、查找,应使用正则表达式;
- 删除重复的JS;
服务器部分
- 尽量合并CSS、JS文件,或将其直接写在页面上,减少HTTP请求;
- 压缩CSS、JS文件,缩短文件传输时间;
- 避免404错误:特别要避免给404指定一个停摆页面,否则所有404错误都将会加载一次页面;
- 一般要求减少DNS查询次数,如同一个页面的请求资源尽量少的使用不同的主机名,这可以减少网站并行下载的数量,但很多网站为了加速下载资源其实是特意用了多个主机名,这里要做一个权衡;
- 使用CDN加速,使用户从离自己最近的服务器下载文件;
- 减少Cookie的大小,使用无cookie的域,客户端请求静态文件的时候,减少 Cookie 的反复传输对主域名的影响;
- 为文件头指定Expires,使内容具有缓存性;
- 使用gzip压缩内容;
相关文章
- 事半功倍:学会WEB性能测试用例设计模型
- 性能测试的能力验证和规划能力
- 释放性能原力觉醒,UWA助力独立游戏信马由缰!
- hash系列集合的性能优化
- C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路
- 领导给你一个项目,如何开展性能测试工作
- 你还搞不定前端性能测试?这里有一大波测试工具请拿走
- 简单性能测试:springboot-2.x vs actix-web-4.x benchmark
- 性能分析系列1:小命令保证大性能
- RDS for MySQL 字符序(collation)引发的性能问题
- 《循序渐进Linux(第2版) 基础知识 服务器搭建 系统管理 性能调优 虚拟化与集群应用》——4.2 系统管理与维护
- 《响应式Web设计性能优化》一2.1 性能度量基础
- 《Web性能实践日志》一1.2 代码注入
- 《响应式Web设计性能优化》一2.3 Web运行时性能
- 《Web性能实践日志》一2.2 这是怎么回事
- 《Web性能实践日志》一2.3 优化策略
- mongoose设置默认值、模块化及性能测试
- 如何使用JVisualVM进行性能分析
- Web性能压力测试之Webbench使用详解
- 如何精准分析特定用户的应用性能问题?这两个功能您一定要了解
- 软件Web测试中应用性能测试的探析
- web页面内容优化管理与性能技巧
- IOS经常使用的性能优化策略
- 性能测试知多少---性能测试工具原理与架构
- Web性能--TCP的构成