网站性能优化三大策略

news/2024/5/10 4:08:57/文章来源:https://blog.csdn.net/yueqian_edu/article/details/122169010

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

  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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_777551.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建跨浏览器兼容网站的 8 个基本技巧

一旦你花时间了解一下 Web 浏览器的历史并了解它们的工作原理,构建和测试跨浏览器兼容网站的必要性就显而易见了。 但是,了解跨浏览器工作的 Web 应用程序的重要性是一回事,而为其开发又是另一回事。 虽然几乎不可能让每个浏览器的设计看起来…

提高JavaScript性能技巧,以获得更快的网站

在开发应用程序时,性能是最重要的问题之一,所有软件开发人员都应该监控和改进应用程序每一层的性能。从数据库到服务器端语言,出现性能问题的时候很多,前端当然也不例外。 接下来,让我们看看如何通过七个实用技巧提高 …

centos7利用acme.sh获取Let's Encrypt的永久免费ssl证书并配置网站域名https访问

acme.sh介绍:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E github:https://github.com/Neilpang/acme.sh 1. 安装 acme.sh 安装非常简单,就一个命令,建议使用root账户进行安装,以下演示都是root账户。…

如何加速 Web 应用程序并提高网站性能

我们不需要提醒你快速网站加载的重要性。要么是 3 秒,要么是用户离开,因此你必须优化网站性能以符合用户的期望。 网站性能的优化是一件大事。它涉及多个方面需要照顾,其中许多取决于网站本身、其复杂性和元素。但是,还有一些适用…

为什么我们应该使用 HTML5 开发网站

HTML 5 是最新的超文本标记语言 (HTML),它是用于描述网页内容和外观的标准编程语言。如今,所有主要浏览器(Chrome、Safari、Opera 和 IE)都提供 HTML5 支持,这使其成为当今使用的最新 HTML 技术。 下面列出了 HTML5 的一些惊人优势&#xff1…

前 3 大网站性能问题以及如何解决它们

令人惊讶的是,即使现在,你也可以访问已建立组织的主页,但如果开发人员和设计人员知道将故障排除工作的重点放在哪里,则可以轻松解决这些严重的网站性能问题。 在大多数情况下,当今互联网上遇到的最大网站性能问题通常归…

快速网站的简单JavaScript性能优化技巧

JavaScript 可以提供高度交互的网站,以 HTML 单独无法做到的方式积极吸引用户。但是,增加的参与度会带来性能成本,如果允许失控,可能会对网站的可用性产生负面影响。 如果你的网站速度很慢,并且认为页面中嵌入的逻辑可…

Web前端:优化Angular应用程序以提高网站速度的技巧

跨企业领域的许多已知和产生流量的网站都使用网站优化方法进行 Angular Web 开发,Angular 作为前端框架因其功能丰富、健壮、高性能的特点而广受欢迎。 应用内显示的性能问题是直接影响应用对最终用户体验的巨大问题。网络流量下降、商业网站上没有流量或客户参与度…

网站安全之——重放攻击

转自:http://baike.baidu.com/view/1569933.htm 重放攻击(Replay Attacks)又称重播攻击、回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目…

Web前端:如何为网站选择最佳的JavaScript框架?

我们都知道JavaScript框架对于优化整个网站开发过程有多么重要,企业可以节省时间、精力和金钱。没有一个框架适合所有任务,每一个都有其优点和缺点,应该根据项目的需要进行选择。选择正确的框架需要检查它是否停滞,并定期检查和修…

网站安全之——session劫持

转自:http://www.cnblogs.com/shoru/archive/2010/02/19/1669395.html 引言 在web开发中,session是个非常重要的概念。在许多动态网站的开发者看来,session就是一个变量,而且其表现像个黑洞,他只需要将东西在合适的时机…

网站安全之——文件上传攻击漏洞

转自:http://www.h3c.com.cn/About_H3C/Company_Publication/IP_Lh/2014/05/Home/Catalog/201408/839582_30008_0.htm 不少系统管理员都有过系统被上传后门,木马或者是网页被人篡改的经历,这类攻击相当一部分是通过文件上传进行的。入侵者是如…

SEO 比比看: Che168.com VS pcauto.com.cn

SEO 比比看: Che168.com VS pcauto.com.cn做SEO工作,平常少不了多观察各种网站优化的案例。俗话说的好,懂行的看门道,不懂的看热闹。面对五花八门的网站,如何才能从专家的角度,以最快的速度来了解被观察网…

搜索引擎SEO外挂:一边搜索,一边看PageRank

搜索引擎SEO外挂:一边搜索,一边看PageRank下载地址:多么乐站长工具 我原来曾写过一篇统计分析搜索引擎排名和Page Rank 关联分析 的文章。很多人引用,回复和我讨论了我的结论。有赞成的,有反对的,有鼓励的&…

ModStartCMS模块化万能建站系统 v2.7.0 主题模板增强,模板市场上线

ModStartCMS是基于Laravel的全栈极速开发CMS框架,支持动态模型配置和多模板支持,轻松搭建CMS内容管理系统。 ModStartCMS发布v2.7.0版本,新功能和Bug修复累计11项,主题模板增强,模板市场上线。 2021年12月20日ModStar…

ModStartCMS模块化建站系统 v3.3.0 组件功能升级,事件触发增强

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 ModStart 致力于服务开…

ModStartCMS 模块化建站系统 Laravel 9.0 版 v3.3.0

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 ModStartCMS是基于Lara…

ModStartCMS模块化建站系统 v3.4.0 富文本粘贴上传,自定义分页

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 ModStartCMS发布v3.4.0…

ModStartCMS模块化建站系统 v3.5.0 多图字段支持,系统优化升级

ModStartCMS是基于Laravel的全栈极速开发CMS框架,支持动态模型配置和多模板支持,轻松搭建CMS内容管理系统。 ModStartCMS发布v3.5.0版本,新功能和Bug修复累计11项,多图字段支持,系统优化升级。 2022年03月21日ModStar…

ModStartCMS模块化建站系统 v3.6.0 内容标签增强,电脑手机适配

ModStartCMS是基于Laravel的全栈极速开发CMS框架,支持动态模型配置和多模板支持,轻松搭建CMS内容管理系统。 ModStartCMS发布v3.6.0版本,新功能和Bug修复累计10项,内容标签增强,电脑手机适配。 2022年03月28日ModStar…