热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浅谈网站机能之前端机能优化

近来项目逐步走上正轨,需求趋于平稳,这才想起须要对整站举行机能优化。经由一段时刻的进修,连系如今项目标现实机能状况,发明确切有许多地方能够举行优化。于是就最先了我的前端机能优化之旅

近来项目逐步走上正轨,需求趋于平稳,这才想起须要对整站举行机能优化。经由一段时刻的进修,连系如今项目标现实机能状况,发明确切有许多地方能够举行优化。于是就最先了我的前端机能优化之旅。以下内容仅为个人明白,假如本内容人人以为那里写的不对,望人人指出,供一同议论。

浅谈网站机能之前端机能优化

机能优化的目标无非是削减用户流量斲丧,提拔用户首屏体验,提拔用户接见速率,让用户专注内容自身。

前端机能优化

  1. 削减 HTTP 要求数目

    • 基本道理:在浏览器与服务器举行通讯时,主如果经由过程 HTTP 举行通讯。浏览器与服务器须要经由三次握手,每次握手须要消费大批时刻。而且差别浏览器对资本文件并发要求数目有限(差别浏览器许可并发数),一旦 HTTP 要求数目到达肯定数目,资本要求就存在守候状况,这是很致命的,因而削减 HTTP 的要求数目能够很大程度上对网站机能举行优化。

      1. CSS Sprites:国内俗称 CSS 精灵,这是将多张图片兼并成一张图片到达削减 HTTP 要求的一种解决计划,能够经由过程 CSS background 属性来接见图片内容。这类计划同时还能够削减图片总字节数,节约定名词汇量(由定名多张图片文件变成一张,哈哈哈)。

      2. 兼并 CSS 和 JS 文件:如今前端有许多工程化打包东西,如:grunt、gulp、webpack等。为了削减 HTTP 要求数目,能够经由过程这些东西再宣布前将多个 CSS 或许 多个 JS 兼并成一个文件。

      3. 采纳 lazyLoad:俗称懒加载,能够掌握网页上的内容在一最先无需加载,不须要发要求,比及用户操纵真正须要的时刻马上加载出内容。如许就掌握了网页资本一次性要求数目。

  2. 掌握资本文件加载优先级

    • 基本道理:说到这里就须要晓得浏览器加载 HTML 内容的道理,浏览器在加载 HTML 内容时,是将 HTML 内容从上至下顺次剖析,剖析到 link 或许 script 标签就会加载 href 或许 src 对应链接内容,为了第一时刻展现页面给用户,就须要将 CSS 提早加载,不要受 JS 加载影响。

      1. 遵循原则:重要文件放在 head 内部,次要文件放在 body 底部。平常状况下都是 CSS 在头部,JS 在底部。

  3. 应用浏览器缓存

    • 基本道理:浏览器缓存分强缓存和协商缓存,他们是将收集资本存储在当地,守候下次要求该资本时,假如掷中就不须要到服务器从新要求该资本,直接在当地读取该资本。

      1. 强缓存:在 web 服务器返回的相应中增添 Expires 和 Cache-Control Header。

      2. 协商缓存:经由过程【Last-Modified,If-Modified-Since】和【ETag、If-None-Match】这两对 Header 离别治理。

  4. 运用 CDN

    • 基本道理:CDN的全称是Content Delivery Network,即内容分发收集。

  5. 削减重排(Reflow)

    • 基本道理:重排是 DOM 的变化影响到了元素的多少属性(宽和高),浏览器会从新盘算元素的多少属性,会使衬着树中受到影响的部份失效,浏览器会考证 DOM 树上的一切别的结点的 visibility 属性,这也是 Reflow 低效的缘由。假如 Reflow 的过于频仍,CPU 运用率就会急剧上升。

      1. 削减 Reflow,假如须要在 DOM 操纵时增添款式,只管运用 增添 class 属性,而不是经由过程 style 操纵款式。

  6. 削减 DOM 操纵

  7. 图标运用 IconFont 替代

花絮

在最先提笔写这篇博客前就遇到了一个很辣手的题目,这篇博客题目叫什么,思索了一会,我内心冒出了三个答案:

  1. 浅谈网站机能优化

    • 第一个题目网站机能优化,一看题目能够明白为是讲网站机能,而且是对网站举行优化,形貌的是一种解决计划,但是网站机能包含的太多了,超出了我的学问领域,所以摒弃。

  2. 浅谈网站机能之前端机能优化

    • 第二个题目正适我怀,答题归纳综合了我本期博客内容,既有机能引见,又有前端机能优化解决计划。

  3. 浅谈前端机能优化

    • 第三个题目前端机能优化,心想这不就是我要写的内容嘛,等我写完内容发明,不对,我写的内容不仅仅是解决计划,好包含的其他内容,所以摒弃。

以上内容仅为个人明白,假如本内容人人以为那里写的不对,望人人指出,供一同议论,点击此处更多文章。


推荐阅读
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了2020年计算机二级MSOffice的选择习题及答案,详细解析了操作系统的五大功能模块,包括处理器管理、作业管理、存储器管理、设备管理和文件管理。同时,还解答了算法的有穷性的含义。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 关于CMS收集器的知识介绍和优缺点分析
    本文介绍了CMS收集器的概念、运行过程和优缺点,并解释了垃圾回收器的作用和实践。CMS收集器是一种基于标记-清除算法的垃圾回收器,适用于互联网站和B/S系统等对响应速度和停顿时间有较高要求的应用。同时,还提供了其他垃圾回收器的参考资料。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了Redis中RDB文件和AOF文件的保存和还原机制。RDB文件用于保存和还原Redis服务器所有数据库中的键值对数据,SAVE命令和BGSAVE命令分别用于阻塞服务器和由子进程执行保存操作。同时执行SAVE命令和BGSAVE命令,以及同时执行两个BGSAVE命令都会产生竞争条件。服务器会保存所有用save选项设置的保存条件,当满足任意一个保存条件时,服务器会自动执行BGSAVE命令。此外,还介绍了RDB文件和AOF文件在操作方面的冲突以及同时执行大量磁盘写入操作的不良影响。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
author-avatar
dgsfdg3t4543
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有