WEB前端开发常用的优化技巧汇总

WEB前端开发常用的优化技巧汇总

减少HTTP请求次数or减小请求内容的大小

页面中每发送一次HTTP请求,都需要完成一次HTTP事务,既会消耗时间,又有可能造成http链接通道堵塞,为了提高页面加载速度和运行性能,我们应该减少HTTP的请求次数和减小请求内容的大小

1.采用CSS雪碧图(css sprit/css图片精灵)技术,把小图合并到一张大图上,使用背景定位,定位到具体位置上

2、真实项目中,我们最好把css或者js文件进行合并压缩:尤其在移动端,如果css、js文件很少,我们可以采取内嵌式,减少请求次数

1)都最好分别合并成一个文件
2)通过一些工具(webpack)将文件压缩,减小文件大小
3)服务器端开启资源文件的GZIP压缩
通过自动化工具完成文件的合并压缩,文件转化(less->css/ES6->ES5)等操作,我们把这种自动化构建模式,称之为前端工程化开发

3、采用图片懒加载技术,在页面开始加载的时候,使用默认展位图,当页面加载完成后,依次加载真实图片(减少页面首次加载时的HTTP请求次数)

真实项目中,开始图片都不加载,然后先把第一屏
根据以上原理,我们可以扩充数据懒加载
1)开始加载页面的时候,只把首屏或前两屏的数据从服务器请求过来(大型电商网站的首屏一般都是有服务器端直接)
2)当页面下拉,在请求该区域的数据
3)分页展示技术(微博)采用的也是数据的懒加载:如果我们请求获取很多的数据,最好分批请求,开始只展示第一页的数据,当用户点击第二页,在请求第二页数据

4、对于不经常更新的数据,最好采用浏览器的304缓存做处理(服务器端)

第一次请求css、js代码,浏览器会把请求的内容做缓存处理,如果做了304处理,再次请求直接从缓存读取,(减少HTTP请求次数)
当数据图片更新时,都会从服务器重新拉取
对于客户端来讲,我们可以基于localStorage来做本地存储,将内容存储在本地,下一次加载可从本地获取,设定一定的期限或标识,控制某个阶段重新从服务器获取

5、使用字体图标代替页面中的位图

轻量级、适配方便、减少HTTP请求次数

6、如果页面中出现AUDIO/VIDEO标签,我们最好设置他们的preload=none,页面加载是,音视频资源不加载,播放时在加载(减少首次页面加载的http请求次数)

1)preload=auto:首次加载页面就把音视频资源加载
2)preload=metadata::首次加载页面就把音视频资源的头部信息加载(专辑名称)

7、.在客户端和服务器端进行数据通信的时候,最好采用JSON格式进行数据传输

优势
1)数据结构一目了然,方便获取和操作
2)相对于XML,JSON格式更加轻量级
3)客户端和服务器端都支持JSON格式,方便使用
真实项目中,我们尽可能使用JSON,但是对于某些特殊需求(文件流,文档传输)就不合适了

8、采用CDN加速【烧钱】

CDN:分布式(地域分布式)

编写代码的优化技巧

除了减少HTTP请求次数和内容大小,还可以优化性能,【不好的编码习惯会导致】

1、尽量减少对DOM的操作(VUE和REACT框架在这方便处理的非常不错)

在JS中操作DOM是非常耗性能的,但是有不可避免,所以只能尽可能减少
[DOM操作弊端]
1)DOM存在映射机制,(JS中的DOM元素对象和HTML中的DOM结构是存在映射关系的),这种机制是浏览器按照W3C标准完成对JS语言的构建和DOM的构建,操一次DOM要同时修改两个地方
2)页面中的DOM结构改变或样式改变,会触发DOM的回流(结构重新计算)和重绘(样式重新渲染);

2、更多的使用异步编程

同步编程时上面任务完不成会导致下方任务无法操作
在开发时,可把某一区域(没有必然先后顺序的代码)设置为异步编程(用的不多)
尤其AJAX请求,一般都是用异步编程,最好是基于promise设计模式进行管理(项目中经常使用FETCH/VUE/AXIOS等插件来进行ajax请求处理,因为)

3、尽可能避免一次性循环过多数据(循环是同步编程),尤其要避免while导致的死循环

4、CSS选择器优化

1)尽量减少标签选择器的使用
2)少使用ID选择器,多使用样式类选择器(通用性强)
3)减少选择器前面的前缀,选择器是从右向左查找,【命名类名时最好沿用父级类名.header-con-title

5、尽量加少使用CSS表达式

6、减少页面中的冗余代码,提高方法的使用率,低耦合高内聚

7、CSS放在head中,JS放在BODY尾部:目的现场呈现页面,在给用户提供操作

8、避免使用eval

1)性能消耗比较大
2)代码压缩后,容易出现代码执行错乱

9、JS中尽量减少使用闭包

1)闭包会形成一个不销毁的栈内存,过多的栈内存会影响

10、DOM事件绑定最好采用事件委托

把事件绑定给外层容器,当里面的后代元素事件被触发,外层容器绑定的方法也会被触发执行,根据事件源的不同,做不同的操作

11、尽量使用CSS3动画代替JS动画

12、尽可能使用设计模式来构建体系,方便后期维护,提高了扩充性能

13、减少滤镜的使用,减少flash的使用

关于页面的SEO优化

1、页面中杜绝出现死链接(404)页面,并且对于用户输入的错误页面,要引导到404页面

2、避免浏览器中异常错误的抛出

1)避免代码出错
2)使用trycatch做异常信息捕获

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Web前端的漏洞是指在Web应用程序的前端页面中存在的安全隐患或漏洞,可能被攻击者利用进行恶意操作或获取敏感信息。以下是一些常见的Web前端漏洞类型: 1. 跨站脚本攻击(XSS):攻击者通过注入恶意脚本代码到Web页面中,使得用户在浏览页面时执行该恶意脚本,从而窃取用户的敏感信息或进行其他恶意操作。 2. 跨站请求伪造(CSRF):攻击者通过伪造合法用户的请求,在用户不知情的情况下以该用户的身份执行恶意操作,如修改用户设置、发送恶意邮件等。 3. 点击劫持:攻击者通过将透明的页面覆盖在目标网页上,诱使用户误点击透明页面上的内容,从而执行攻击者指定的操作。 4. 不安全的直接对象引用:在前端页面中直接暴露敏感数据或对象,攻击者可以通过修改请求参数或调用接口来获取或篡改数据。 5. 不安全的文件上传:未对上传文件进行充分校验和过滤,导致攻击者上传恶意文件或执行任意代码。 关于Web前端性能优化,主要目标是提高网页加载速度和用户体验。以下是一些常见的性能优化技巧: 1. 压缩和合并文件:压缩CSS、JavaScript和HTML文件,减少文件大小,并将多个文件合并为一个,减少网络请求次数。 2. 图片优化:使用适当的图片格式、压缩图片大小,使用懒加载和延迟加载技术,减少页面加载时的图片资源消耗。 3. 缓存控制:设置合适的缓存策略,利用浏览器缓存和CDN缓存来减少服务器压力和网络传输时间。 4. 异步加载:将不影响页面首次渲染的内容,如统计代码、广告等,使用异步加载方式,提高页面加载速度。 5. 前端代码优化优化HTML结构、CSS选择器和JavaScript代码,减少不必要的DOM操作和重绘,提高页面渲染速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值