您当前的位置:首页 > 电脑百科 > 站长技术 > 网站

一文解答web性能优化

时间:2022-07-30 10:49:01  来源:  作者:程序那点事

前言

无论是前端还是后端,性能优化其实是每一个开发都无法避开的大山。另一方面,这种开放式的提问深受面试官的青睐,能够快速地区分求职者的水平。

网上的答案层出不穷,似乎都只是简单罗列了几个具体的方案,却没有系统的归纳。为了能够系统地归纳这个问题,我问了几个前端大佬,反复斟酌了一下他们的答案。

总的来说,我认为web性能优化的方向可以归纳为两个:1、优化资源加载的时间;2、优化代码层级的性能。

资源加载优化

我们都知道在浏览器打开一个页面的时候,需要加载各种不同的静态资源,这个时候如果加载的时间太长,就会给用户带来极差的冲浪体验。

既然要提高资源加载的效率,那解决的方案自然就是优化资源体积、减少对资源的请求数和提高响应速度。

1、优化资源体积

1)压缩

我们可以通过webpack的插件压缩代码文件大小,比如cssMinimizerWebpackPlugin、
htmlMinimizerWebpackPlugin等。

图片也可以通过降低图片质量、iconfont图标取代图片图标和采用更小体积的文件格式来达到减小体积的目标。

另外,服务配置中开启Gzip,压缩传输时的资源大小。

2)按需引入

除了压缩文件,还可以通过webpack地Tree shaking,按需引入代码,也能够有效地减少代码包的大小。

方法肯定不止上面这些,这里就不一一列举。

2、减少请求频率

1)合并CSS、JS文件,减少连接数。

2)合理地使用缓存,有些资源更新的频率比较低,可以通过缓存有效缓解请求压力。

3)使用懒加载,避免一次性加载所有的资源。

3、提高请求效率

1)使用CDN(内容分发网络)

简单来说就是在多个地方部署服务器,让用户从最近的服务器获取资源。

2)使用HTTP2。

相较于HTTP1,HTTP2的解析速度更快,多路复用的特性使得它仅仅用一个TCP连接就可以传输所有的数据,使得请求的效率大大提升。

代码层级的优化

代码层级的优化,也可以叫做运行时性能优化,这更多的是在我们写代码时要注意的点。

1)尽量规避不必要的重排和重绘

因为JS引擎线程和GUI渲染线程两者只能有一个在工作,所以重排和重绘是极其消耗性能的,所以尽可能地要避免这两个操作。

常见的例子就是Vue和React的虚拟dom。

还有个比较容易忽略的场景,就是当父组件更新时,子组件也会跟着更新,这样就导致了多余的渲染,在React中,useMemo和useCallback搭配使用,能有效解决该问题。

2)防抖和节流

这就很基本了,举个例子吧,比如一般搜索框都会有模糊搜索的功能,大量的change事件会导致超高频率的http请求。

方法肯定还有很多,我一时也想不起来了。毕竟能力和见识都还很有限,大家可以在评论区补充一下。

写在最后

突然想着这样去归纳,是因为觉得每次被问起这个问题的时候,脑子里都是一片浑浊,想到什么说什么。但是分成两个方向去思考后,觉得清晰了不少,相信这么说也能够令面试官信服。

来源:
https://mdnice.com/writing/f85f1c66998e4bb8b59b493cc8864f29



Tags:web性能   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Web性能优化的15条实用技巧
javascript在浏览器中运行的性能,可以认为是开发者所面临的最严重的可用性问题。这个问题因为javascript的阻塞性而变得复杂,事实上,多数浏览器使用单一进程来处理用户界面和js...【详细内容】
2023-04-11  Search: web性能  点击:(58)  评论:(0)  加入收藏
Web性能评价指标
作者 | 李玲同一个网站,有的用户说好用,有的用户投诉慢,Web性能差吗?从用户角度出发,收集用户的使用反馈,很多吐槽都提到了慢,经调研用户最关注的是速度,所以Web性能主要指网站加载...【详细内容】
2023-03-31  Search: web性能  点击:(287)  评论:(0)  加入收藏
一文解答web性能优化
前言无论是前端还是后端,性能优化其实是每一个开发都无法避开的大山。另一方面,这种开放式的提问深受面试官的青睐,能够快速地区分求职者的水平。网上的答案层出不穷,似乎都只是...【详细内容】
2022-07-30  Search: web性能  点击:(296)  评论:(0)  加入收藏
Web性能优化:图片优化七大技巧,你都知道吗?
每个前端网站都有可能引入很多的图片来达到酷炫或者展示的效果,有人会问?为什么非要用图片,因为有些技术上达不到的效果展示,只能用图片来代替,比如淘宝天猫京东这些商城的酷炫的...【详细内容】
2019-12-12  Search: web性能  点击:(393)  评论:(0)  加入收藏
▌简易百科推荐
访问网站显示不安全是什么原因?怎么解决?
访问网站时显示“不安全”,主要原因以及解决办法: 1.没用HTTPS加密:网站还在用老的HTTP协议,数据传输没加密,容易被人偷看或篡改。解决办法是网站管理员启用HTTPS,也就是给网站装...【详细内容】
2024-04-08  JOYSSL爆爆    Tags:网站   点击:(11)  评论:(0)  加入收藏
SSL证书过期后网站还能正常访问吗
当SSL证书过期后,尽管网站的服务器仍然可以处理请求并提供服务,但是浏览器会在尝试建立安全连接时检测到证书已过期,并显示警告信息告知用户该网站的安全证书已过期。这会严重...【详细内容】
2024-03-27    见方天地  Tags:SSL证书   点击:(21)  评论:(0)  加入收藏
HTTPS网站怎么实现
HTTP协议迁移到HTTPS,以提供更加安全的网络环境并增强用户信任。那么,如何将一个使用HTTP的网站安全升级到HTTPS呢?我们需要理解HTTP和HTTPS的区别。HTTP,即超文本传输协议,是一...【详细内容】
2024-03-27  倏然间    Tags:HTTPS   点击:(12)  评论:(0)  加入收藏
SSL证书即将过期,不更新可以吗?
SSL证书是用来保护网站数据传输安全的重要工具,通过数据加密和身份认证两大功能,为网站提供了一个安全、可信的网络环境。由正规CA机构所颁发的SSL证书都具有一定的使用期限,通...【详细内容】
2024-03-27  帝恩思DNS    Tags:SSL证书   点击:(19)  评论:(0)  加入收藏
网站运营的好与坏主要决定因素是内容与seo优化
在这个信息爆炸的时代,网站如雨后春笋般涌现,如何在众多网站中脱颖而出,吸引更多的访问者,成为了每一个网站运营者关心的问题。我们不禁要问,是什么决定了网站运营的好与坏呢?答案...【详细内容】
2024-03-26  易华合讯    Tags:网站运营   点击:(19)  评论:(0)  加入收藏
网站制作不再难:小白也能上手的建站教程
在互联网高速发展的时代,网站已成为企业、个人展示自身形象和实力的重要窗口。过去,网站制作对于许多人来说是一项技术活,需要专业的知识和经验。但随着技术的进步,现在即便是没...【详细内容】
2024-03-24  一度旭展互联网科技    Tags:网站制作   点击:(12)  评论:(0)  加入收藏
想建个网站赚钱?先来看看这篇建站指南吧
随着互联网的飞速发展,越来越多的人希望通过建立自己的网站来实现创业梦想或者赚取额外的收入。但建站并非一蹴而就的简单事情,它需要综合策划、设计、技术和运营等多方面的知...【详细内容】
2024-03-21  一度旭展互联网科技    Tags:网站   点击:(11)  评论:(0)  加入收藏
个人站长的出路在哪?
个人站长的出路在于不断适应互联网的发展趋势,积极寻求创新和变革。以下是一些个人站长可以考虑的出路: 转型为内容创作者:随着内容营销的兴起,越来越多的企业和个人开始注重内...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(52)  评论:(0)  加入收藏
网络环境和用户需求不断变化,个人站长该怎么办?
个人站长是一个相对特殊的群体,他们通常以个人身份独立运营网站,没有大型企业或组织的支持。由于缺乏资源和大企业的光环,个人站长需要更加注重策略和技巧,才能在竞争激烈的网络...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(46)  评论:(0)  加入收藏
AI时代 个人站长还有出路吗?
AI时代,个人站长依然有出路,但需要进行一些调整和转型。首先,利用AI工具可以帮助个人站长提高效率和产出质量。例如,利用AI进行内容创作、智能推荐、用户画像分析等,可以大大提升...【详细内容】
2024-02-29    简易百科  Tags:个人站长   点击:(53)  评论:(0)  加入收藏
站内最新
站内热门
站内头条