|
|
51CTO旗下网站
|
|
移动端

注意这3个小细节,Web性能再提升一档!

运行时的性能是指web应用程序运行时对于用户输入的响应速度,比如点击删除图片等。它是一个比较主观的感觉。今天就从三个角度分享一下小编的性能优化小技巧。

作者:老王谈运维来源:今日头条|2019-04-12 09:45

【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

为什么web性能如此重要?

真的非常重要!

响应更快的网站会带给用户更好的体验,理论上讲,好的体验等于好的用户满意度。更快,也意味着用户在放弃之前,有希望更快的访问到你的网站。放弃的原因有很多:页面加载时间太长,用户失去了兴趣,浏览器崩溃等等。提高性能可以降低放弃率,会给网站了带来显著的效益。

运行时的性能是指web应用程序运行时对于用户输入的响应速度,比如点击删除图片等。

Web性能影响因素

Web性能影响因素

运行时的性能受很多因素影响:

  • 从完成特定功能所采用的算法效率到优化方法;
  • 从解释器和浏览器渲染引擎的优化或不足到有效内存管理和CPU使用率;
  • 再到设计时间同步和异步操作之间的选择,都会对性能产生影响。

运行时的性能是一个比较主观的感觉。今天就从三个角度分享一下小编的性能优化小技巧。

  • 角度一:当我们在浏览器的地址栏输入一个URL,就开启了一个新的网络线程,DNS解析、TCP连接和HTTP请求和响应,不可避免地依赖网络环境、受到网络延迟、网络不稳定等因素影响。我们能做的只有尽可能减少网络请求,以减少网络线程产生的网络消耗。
  • 角度二:浏览器也有部分原因,主流浏览器有IE、Chrome、Safari、Firefox、Opera等,不同的浏览器的JS引擎性能不同,带给用户的体验也不同,比如IE8及以下的内核表现不好是众所周知的。
  • 角度三:除去网络、浏览器等外围因素,影响web性能的主要还是页面本身。作为开发人员,性能优化可以控制的部分就是页面,包括页面大小、页面结构、JS、CSS等等。

针对以上3点页面加载过程所涉及到的因素,下面做简单讨论和优化的办法介绍~

性能优化小技巧

注意这 3 个小细节, Web 性能再提升一档!

1. 减少HTTP请求数:

1)资源大小很重要,不仅仅关系到下载时间,还因为IPv4和IPv6协议规定一个IP包的***值为65535字节。一个IP包是一次请求,于是可以得到一个等式:

注意这 3 个小细节, Web 性能再提升一档!

根据这个公式,我们可以控制资源尽可能小。可以采取使用gulp等自动化构建工具进行自动合并JS文件、压缩文件和图片等手段。

2) 避免重定向:重定向说明需要客户端采取进一步操作才能完成请求,请求时间就会延长。所以输入URL时应使用最完整的、最直接的地址,比如输入www.baidu.com而不是baidu.com。

3) 使用缓存机制:主要有数据库缓存、服务端缓存(反向代理和CDN缓存)、浏览器缓存。

2.  图片懒加载

页面图片很多的,可以使用懒加载。只加载***屏的图片,当用户滚动访问后面的内容时再加载相应图片。方法是先用一张极小的占位图代替图片,占位图只下载一次,将原本图片的src存储在另一个属性中,判断当图片快进入可视区域就将路径赋值给src并下载图片进行展示。下面是简单的例子:

注意这 3 个小细节, Web 性能再提升一档!

3. 代码优化

1)页面结构:CSS放在HTML内容上部,JavaScript放在HTML内容下部。可以使用preload提前解析资源的DNS。由于浏览器是自上而下读取内容的,因此放置资源的位置会影响网站的访问速度。比如,如果将script标签放在HTML内容的前边,浏览器就会先调用JavaScript解释器对JS进行解析,完成之后才会渲染其余的HTML内容,对用户来说,能看到的是HTML的内容,所以1) 这么做会导致页面可用性的延迟。另外,CSS是对页面节点进行修饰的,如果CSSOM未构建之前就进行了布局,等到CSSOM构建出来,如果CSS修改了节点的布局,就会发生重排,需要重新计算布局并绘制。

2) JavaScript优化:比如减少对DOM的操作,减少重排和重绘,减少作用域链查找,慎用eval函数等等。JS代码和(下面的)CSS的优化主要要求前端开发人员对页面渲染原理有清晰的了解、对基础知识的掌握和良好的编程习惯。

3) CSS优化:比如减少使用通配符‘*’,提取公用样式增强可复用性,选择器准确可减少匹配时间,适度使用内联样式。

【编辑推荐】

  1. 性能优化篇---Webpack构建代码质量压缩
  2. 浅谈Web 实时推送技术,有对比,有总结
  3. 干货分享:六个知名的Go语言Web框架
  4. 全新重构,uni-app实现微信端性能翻倍
  5. 深入理解前端性能监控
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

跨越网络工程师必备训练

本书是根据全国计算机技术与软件专业资格(水平)考试“网络工程师级考试大纲”编写的考试辅导用书。全书主体按考试大纲的章节编排,分上、...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客