性能优化是一个复杂的话题,涉及的技能很多,如何通过优化网页性能提高用户体验?今天给大家介绍一些常见的方法。

  1. 尽可能减少要传输的数据量

  首先,删除所有未使用的部分,例如JavaScript中不可访问的函数、带有永远不匹配任何元素的选择器的样式,以及永远隐藏在CSS中的HTML标记。其次,删除所有重复项。然后,我建议设置一个自动缩小过程。例如,它应该删除后端服务的所有注释(但不是源代码)以及不包含其他信息的每个字符(例如JS中的空白字符)。完成后,我们剩下的可以是文本。这意味着我们可以安全地应用压缩算法,比如GZIP(大多数浏览器都能理解)。最后,还有缓存。当浏览器第一次呈现页面时,这不会有什么帮助,但会在以后的访问中节省很多。但关键是要记住两件事:

  如果使用CDN,请确保支持缓存并在其中正确设置。

  与其等待资源的过期日期,您可能希望有一种方法可以从您的角度更早地更新它。将文件的“指纹”嵌入到URL中,使本地缓存失效。

  当然,应该为每个资源定义缓存策略。有些可能很少改变,或者根本不会改变。其他国家的变化更快。其中一些包含敏感信息,另一些可能被视为公开信息。使用“private”指令防止CDN缓存私有数据。也可以优化web图像,尽管图像请求不会阻止解析或呈现。

  2. 减少关键资源的总数

  “关键”仅指网页正确呈现所需的资源。因此,我们可以跳过流程中未直接涉及的所有样式,还有所有的脚本。

  样式表

  为了告诉浏览器不需要特定的CSS文件,我们应该为引用样式表的所有链接设置媒体属性。使用这种方法,浏览器将只视需要处理与当前媒体(设备类型、屏幕大小)匹配的资源,同时降低所有其他样式表的优先级(它们将被处理,但不会作为关键渲染路径的一部分)。例如,如果向引用打印页面样式的样式标记添加media=“print”属性,则当介质未打印时(即在浏览器中显示页面时),这些样式不会干扰关键呈现路径。

  为了进一步改进该过程,还可以将一些样式内联。这为我们节省了至少一次到服务器的往返,否则获取样式表就需要这样做。

  脚本

  如上所述,脚本是解析器阻塞的,因为它们可以改变DOM和CSSOM。因此,不改变它们的脚本不应该是块解析,从而节省我们的时间。为了实现这一点,所有脚本标记都必须标记为async或defer属性。

  标记为async的脚本不会阻止DOM构造或CSSOM,因为它们可以在构建CSSOM之前执行。但是请记住,内联脚本无论如何都会阻止CSSOM,除非您将它们放在CSS之上。相比之下,标记为“延迟”的脚本将在页面加载结束时进行评估。因此,它们不应影响文档(否则将触发重新呈现)。

  换句话说,使用defer,脚本直到页面加载事件触发后才执行,而async允许脚本在解析文档时在后台运行。

  3. 缩短关键渲染路径长度

  最后,CRP长度应缩短至可能的最小值。在某种程度上,上述方法可以做到这一点。

  作为样式标记属性的媒体查询将减少必须下载的资源总数。脚本标记属性defer和async将防止相应的脚本阻止解析。使用GZIP缩小、压缩和归档资源将减少传输数据的大小(从而减少数据传输时间)。内联某些样式和脚本可以减少浏览器和服务器之间的往返次数。

  我们还没有讨论的是在文件之间重新排列代码的选项。根据最新的最佳性能理念,一个网站最快应该做的第一件事就是显示ATF内容,ATF代表折叠上方,这是立即可见的区域,无需滚动。因此,最好以先加载所需样式和脚本的方式重新安排与渲染相关的所有内容,其他所有内容都停止—既不解析也不渲染,并始终记住在进行更改之前和之后进行测量。

  总之,网站性能优化包含了网站响应的所有方面,如缓存、设置CDN、重构、资源优化等,但所有这些都可以逐步完成。作为一名web开发人员,您应该将本文作为参考,并始终记住在实验前后测量性能。

本文来源:www.gec-edu.org

网站性能优化三大策略相关推荐

  1. JavaScript系列—性能优化之《网站性能优化实战——从12.67s到1.06s的故事》

    本篇博文来源于网络 226 人赞同了该文章 原文作者:IMWeb jerryOnlyZRJ  原文链接:网站性能优化实战--从12.67s到1.06s的故事 - 腾讯Web前端 IMWeb 团队社区 ...

  2. 移动网站性能优化(未完。。。)

    移动网站天生有三种性能限制:带宽低,内存小,处理器性能低. 这些性能挑战又加上其他的问题,如: 网页比以前更大 延迟相差巨大 下载速度相差巨大 解决问题: 改善网站性能的主要策略并没有因为从PC变成手 ...

  3. 移动网站性能优化:网页加载技术概览

    移动网站性能优化:网页加载技术概览 2013/08/27 | 分类: IT技术 | 0 条评论 | 标签: WEB开发, 性能优化, 移动 分享到: 47 本文由 伯乐在线 - 伯乐在线读者 翻译自  ...

  4. 网站性能优化有哪些方法

    网站性能优化有哪些方法 一.总结 一句话总结: web前端性能优化:浏览器访问优化.CDN加速.反向代理 应用服务器性能优化:分布式缓存.异步操作.使用集群.代码优化 web前端性能优化方法有哪些 1 ...

  5. 前端面试—网站性能优化

    我们常将网站性能优化措施归结为四大方面: 1.css优化: 2.js优化: 3.合理利用缓存,提升网络传输速率: 4.减小请求资源体积: 5.其它 1 css优化 1.1使用雪碧图,减少http请求, ...

  6. 如何进行网站性能优化?

    如何进行网站性能优化? 1.背景介绍 为什么要对网站进行性能优化 网站的访问量及用户的持久性其实在一定程度上取决于其性能,如果一个网站响应耗时久,动画卡顿,占用大量的cpu等,往往就会导致用户流失.尤 ...

  7. 前端如何进行网站性能优化

    大家好,我是IT修真院学员,一枚正直纯洁善良的WEB程序员,今天给大家分享一下,修真院官网JS任务4,深度思考中的知识点-前端如何进行网站性能优化. 一.背景介绍 性能优化的目的 1.从用户角度而言, ...

  8. 前端-网站性能优化——CDN加速

    前端-网站性能优化--CDN加速 网站性能优化是一个大活儿,按工种划分的话,分前端.后端和db等,作为一名前端工程师,这系列文章只聊前端工程师应该知道的关于网站性能优化的那些事儿.写此文章算是一个工作 ...

  9. 网站性能优化从入门到粗通(PHP 篇)

    本文来自作者 蒋岩 在 GitChat 上分享 「网站性能优化从入门到粗通(PHP 篇)」,「阅读原文」查看交流实录. 「文末高能」 编辑 | 哈比 题外话:本次 Chat 的主题是入门到粗通,所以内 ...

  10. 【前端性能】网站性能优化

    网站性能优化 1.尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容,这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通过减少页面中的元素可以减少HTTP请求的次数, ...

最新文章

  1. 对阿里云服务器(数据盘已分区并格式化)的数据盘进行扩容
  2. BugKuCTF WEB 域名解析
  3. Spring简介-Spring的优势
  4. python疑问5:位置参数,默认参数,可变参数,关键字参数,命名关键字参数区别...
  5. 886 微型计算机原理,886微型计算机原理及应用.pdf
  6. 使用Visual Studio Code进行由内而外的C#开发
  7. Java JDBC spring-jdbc
  8. mysql 事件状态enable_mysql事件 - wayhk的个人页面 - OSCHINA - 中文开源技术交流社区...
  9. ELK详解(十七)——filebeat输出到Redis和Elasticsearch实战
  10. Parallels Desktop如何检查Windows系统是否具有EFI/UEFI或 Legacy BIOS固件接口
  11. oracle不完全恢复类型,Oracle——不完全恢復
  12. XSS漏洞扫描器(2种方法)
  13. win7计算机病毒制作教程,win7 64位旗舰版系统删除电脑病毒文件夹方法
  14. 浏览器兼容性问题和解决方案
  15. ionic4 click防抖指令
  16. tcp/ip协议的三次握手4次断开
  17. html立方体旋转展开,html5—旋转立方体
  18. RFID MFRC522
  19. 电脑C盘爆满 不花钱教你1分钟瘦身的终极神技
  20. 为什么你会感觉程序员的情商普遍偏低?

热门文章

  1. Python QT5文件对话框总是错误代码-1073740791 (0xC0000409)
  2. 文本框只能输入数字、字母,屏蔽粘贴
  3. 人件札记:团队的化学反应
  4. 霍夫曼编码和LZ编码
  5. 按键精灵版QQ自动加好友脚本分享
  6. 边缘化(marginalization )和稀疏化(sparsification)---ceres-solver
  7. enfuzion与lsf构建渲染集群_渲染农场 - 秦瑞It行程实录 - 博客园
  8. LZY逃命路线总数(记忆化递归)非常难
  9. java 5分钟_java计算下一个整5分钟时间点
  10. ROSLAUNCH 的.launch/XML 语法