常见的web前端性能优化方法总结「建议收藏」

常见的web前端性能优化方法总结「建议收藏」首先,我们要了解一下,前端优化的目的是什么从用户角度,优化能够让页面加载得更快、对用户的操作响应更快,给用户提供更为友好的体验。从服务商角度,优化能够减少页面请求数、或者减小请求所占带宽,节省资源。大概有如下优化方法,我们看一下:一、页面内容优化减少http请求次数减少DNS查询次数避免页面跳转缓存ajax延迟加载(一般用在图片多的页面中,滚动时才加载)预加载减少D…

大家好,又见面了,我是你们的朋友全栈君。

首先,我们要了解一下,前端优化的目的是什么

  1. 从用户角度,优化能够让页面加载得更快、对用户的操作响应更快,给用户提供更为友好的体验。
  2. 从服务商角度,优化能够减少页面请求数、或者减小请求所占带宽,节省资源。

大概有如下优化方法,我们看一下:

一、页面内容优化

  1. 减少http请求次数
  2. 减少DNS查询次数
  3. 避免页面跳转
  4. 缓存ajax
  5. 延迟加载(一般用在图片多的页面中,滚动时才加载)
  6. 预加载
  7. 减少DOM元素数量
  8. 减少iframe数量
  9. 避免404

二、css优化

  1. 将样式表置顶将 (CSS放在 HEAD中,防止浏览器有可能还未下载和解析到 CSS就已经开始渲染页面)
  2. 避免css表达式
  3. 用link代替@import
  4. 避免使用filters
  5. css文件合并与压缩

三、js代码优化

  1. 将脚本置底(将脚本内容在页面信息内容加载后再加载)
  2. 使用外部javascript和css文件
  3. 去除重复脚本,避免重复的资源请求
  4. 减少DOM访问(修改和访问DOM元素会造成页面的重绘和重排,循环对DOM操作更是减慢页面加载速度)
  5. js文件合并与压缩

四、图片优化

  1. 优化图片大小
  2. 尽量使用css sprite(精灵图也叫雪碧图)
  3. 不要在html中缩放图片
  4. 使用小且可缓存的favicon.ico

五、减少Cookie传输

  1. Cookie包含在每次请求和响应中,太大的Cookie会严重影响数据传输,因此哪些数据需要写入Cookie需要慎重考虑,尽量减少Cookie中传输的数据量

六、浏览器端使用缓存

  1. CSS、JavaScript、Logo、图标这些静态资源文件更新的频率都比较低,而这些文件又几乎是每次HTTP请求都需要的,如果将这些文件缓存在浏览器中,可以极好地改善性能。
  2. 用法:通过设置HTTP头中的Cache-ControlExpires属性,可设定浏览器缓存,缓存时间可以是数天,甚至是数月。

七、服务器端使用压缩

  1. 在服务器端对文件进行压缩,在浏览器对文件解压缩,可有效减少通信传输的数据量。文本文件的压缩率可达80%以上,因此HTML、CSS、JavaScript文件启用GZip压缩可达到较好的效果。但是压缩对服务器和浏览器产生一定的压力,在通信带宽良好,而服务器资源不足的情况下要权衡考虑。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148173.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月29日 下午12:36
下一篇 2022年6月29日 下午12:46


相关推荐

  • linux服务器,卸载tensorflow CPU 安装PGU版

    linux服务器,卸载tensorflow CPU 安装PGU版linux服务器,卸载tensorflowCPU安装PGU版写在前面之前用的和学习的都是pytorch框架,现在要运行一个keras的代码,得安装tensorflow和keras,按一个教程,直接在pycharm里setting,点那个+很快就装好了tensorflow和keras,运行了几次发现运行特别慢,用nvidia-smi查看,发现根本没有用pgu跑,一番查找,最后发现安装的tensorflow本身是按CPU跑的,要用GPU跑,得安装tensorflow-gpu。以下主要参考了https

    2022年6月22日
    50
  • B样条曲线(B-spline Curves)

    B样条曲线(B-spline Curves)关键字:NURBS,基函数,控制点,节点,另一个讲的很好的https://www.cnblogs.com/icmzn/p/5100761.html看了网上很多相关资料才得以下笔,资料太多,这里就不一一列举了,感谢各位大佬的资料本博客顺序不太好,看前面的东西可能需要提前看后面的东西。正在努力修炼,敬请谅解写了个B样条曲线计算的完成程序,包括绘图,https://download.c…

    2022年6月18日
    35
  • 软件测试流程(完整版)

    软件测试流程(完整版)单纯从功能测试层面上来讲的话,APP测试、web测试在流程和功能测试上是没有区别的根据两者载体不一样,则区别如下:1.系统结构方面web项目:b/s架构,基于浏览器的;web测试只要更新来服务器端,客户端就会同步更新app项目:c/s架构,必须要有客户端;app修改来服务端,则客户端用户所有核心版本都需要进行回归测试一遍。2.性能方面web项目需监测响应时间,CPU、Memo…

    2022年6月7日
    46
  • 韩国饮食,生活用品,娱乐,车费费用一览表

    韩国饮食,生活用品,娱乐,车费费用一览表

    2021年8月30日
    55
  • Flicker-detect Sensor_sensorless sensing

    Flicker-detect Sensor_sensorless sensingSensor在日光灯作为光源下获取图像数据时会产生flicker,其根本原因是照在不同pixel上光能量不同产生的,所接受的光能量的不同也就是图像的亮度的不同。电源的频率有两种标准:50Hz(大陆)和60Hz(台湾、日本)的正弦波形,当然能量是没有方向性的,因此对应的能量是一个频率为100Hz和120Hz的波形,如下图1所示:图1、60Hz电源频率及能量波形      由于能量在时间…

    2022年10月13日
    4
  • emwin显示中文的方法_emwin中文手册

    emwin显示中文的方法_emwin中文手册emwin显示中文

    2022年10月9日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号