前端性能提升的途径有哪些
前端性能提升的途径包括:
一、降低HTTP请求次数
常用的降低HTTP请求次数的策略有:
1、合并图像。当图像较多时,可以合并成一张大图,从而降低HTTP请求次数。频繁变化的图像可能不太适宜,变化相对稳定的则可以考虑。合并大图除了能降低HTTP请求次数外,还可以充分利用缓存来提高性能。
2、合并压缩CSS样式表和JS脚本,它们的目的都是为了降低HTTP连接数。
3、移除不必要的请求。开发编写代码或系统升级后残留的无效请求连接。
4、充分利用缓存。这里所说的缓存是客户端侧缓存或者说浏览器缓存。Expires头信息是客户端侧缓存的重要依据,格式类似于Expires:sun,20 Dec 2017 23:00:00 GMT。
如果当前时间小于Expires指定的时间,浏览器就会从缓存中直接获取相关的数据信息或html文件,如果当前时间大于Expires指定的时间,浏览器会向服务器发送请求来获取相关数据信息。
以Apache为例,可在Apache的配置文件httpd.conf中设置Expires。
二、图像优化
优化方法:
1、尽可能的使用PNG格式的图像,它相对来说体积较小。
2、对于不同格式的图像,在上线前最好进行一定的优化。
3、图像的延迟加载,也称为懒加载。
三、使用CDN
CDN即内容分发网络,可以让用户就近获取所需内容,解决网络拥堵的状况,提高用户访问网站的响应速度。
四、启用GZIP
GZIP即数据压缩,用于压缩使用Internet传输的所有文本资源。启用GZIP的方法很简单,只需在对应的web服务配置文件中设置一下即可。以Apache为例,在配置文件httpd.conf中添加。
五、样式表和JS文件的优化
一般我们会把CSS样式表文件放在文件的头部。比如,放到<head>标签中,这样可以让CSS样式表尽早地完成下载。对应JS脚本文件,一般我们把它放到页面的尾部。
六、使用无cookie域名
无cookie域名的概念:当发送一个请求时,同时还要请求一张静态的图片和发送cookie时,服务器对于这些cookie不会做任何使用,也就是说这些cookie没什么用,不需要随请求一同发送。
常见的前端性能提升方法有哪些
性能提升,就是在不影响系统运行正确性的前提下,使之运行得更快,完成特定功能所需的时间更短。为了实现这一效果,我们应当尽量提前进行性能提升,防患于未然,甚至最好将其作为一个周期性的工作来进行。
一个好的性能提升思路应该分为四步:
明确提升目的。提升的目的可以是提升用户体验,比如消除一些有明显卡顿的页面和操作,还可以是节省服务器带宽流量、减轻服务器压力等。无论如何,你需要有一个目的。有很多人只是为了提升而提升,目的丢了,或者甚至一开始就没考虑过,只是不断追求更好的性能指标。
确定要达到什么程度。
提升是永无止境的,为了避免陷入前面说的无意义的性能黑洞中,我们最好能够根据实际的业务情况定义出一个相对客观的标准,代表提升到什么程度。比如,根据当下的性能指标与业务量对比,发现最大并发数可能会超过当前的2倍,那么此时提升到争取提升3倍,至少保证能提升2.5倍,是一个比较合理的标准。
请点击输入图片描述
请点击输入图片描述
3、找到瓶颈点
大部分情况下,流程上的提升远胜于语法级别的提升,所以我们最好还是能够借助一些客观数据,以获得更多的运行环境相关的信息,来找到整个“木桶”上最短的一块“板”。如整个系统的总体架构、服务器的信息等,便于定位到底性能的瓶颈点在哪。
4、着手提升
做提升的正确思路一般符合下面两个方向。
第一,空间换提升。一个节点顶不住就多**一个节点出来,独一份的数据导致资源竞争得厉害,就多**一份数据出来。
第二,距离换提升。数据从服务端经过层层处理返回到客户端觉得慢的话,那么能不能直接保存在客户端,或者至少是离客户端尽可能近的地方。
性能提升只是Web前端人员需要掌握的基础技能之一,想要拿到高薪,你需要具备扎实的理论基础以及丰富的实战经验,而这些需要系统的学习以及较多的项目积累。