网站性能优化(website performance optimization)2

news/2024/5/10 15:48:12/文章来源:https://blog.csdn.net/weixin_30340617/article/details/98809868

我们先研究下构建渲染树前的几个步骤:也就是DOM和CSSOM,通常这些步骤的效果最差使你的网页呈现速度非常慢,我们是讨论尽可能快的将HTML流式传输给客户端,使浏览器能够开始构建DOM,还有其他注意事项吗?有一个HTML的尺寸呢?我想应该尽可能小,我们来看看实现这一目的一些策略,假设我想要优化这个HTML

要优化CSSOM,我们需要删除不必要的样式,缩小和压缩文件并缓存,对吧?对,这些都是很好的策略,安市没记错的话,当我们运行PageSpeed Insignts的时候,它还推荐我们查看下阻止呈现的CSS。假设有个简单的网页,包含一个CSS文件,浏览器下载了HTML然后发现并获取CSS,浏览器最早什么时候就会绘制网页?

我们不能绘制没有样式的网页,也就是阻止呈现的CSS,可以对此作出优化?CSS使我们能够按照特定条件范围应用样式,如这个文件,body规则在所有条件下都适用。但是当设备处于横向模式时,我们会应用特殊的规则。是菜单悬浮在右侧,类似的,如果有用户想要打印网页,我们就会调整文本大小,适用更小的字号,媒体查询对自适应设计来说很重要,但是这回如何帮助我优化关键渲染路径呢?假设我要呈现使用这个CSS文件的网页,我们注意到浏览器会阻止呈现,直到解析了所有的样式,但是直观的来说,你认为它应该对print规则阻止呈现吗?我认为如果我们不打印网页的话,则没必要呈现,对吧?对,这就是为何有时候需要将CSS拆分成多个文件,我们来试试。

 

接着想HTML标记中再添加一个链接,现在是重点内容了,默认情况下,浏览器会认为每个具体样式表都会阻止呈现,但是我们也可以通过在媒体查新中添加媒体属性来告诉浏览器何时应该应用样式表,style-print仅用于打印,所以我们添加media=“print”,所以当浏览器看到这个样式表就知道仅需要应用到打印操作中,因此当我们在手机上加载时则不需要阻止呈现,对,浏览器依然会下载这个两个样式表,但是不会对style-print.css阻止呈现。这里就意味着,浏览器会为style.css下载更少的数据,从而加快了下载速度,有道理,但是这个示例很简单,假设有一组更加复杂的样式,包括多个断点,这一技巧还有用?完全有用,你可以在链接属性上指定任何媒体查询,浏览器将执行正确的操作。PageSpeed Insights建议减少关键CSS元素数量,现在看起来更加合理了。

如果我在手机上纵向地呈现网页,一下哪个样式会阻止呈现?默认情况下,浏览器会认为css在阻止呈现,因此第一个链接标记将阻止呈现,screen查询将为true,因为我要在屏幕上呈现内容,所以它会阻止呈现,第三项声明取决于设备的屏幕方面,这里因为设备方向是纵向,所以它不会阻止呈现资源。

 

现在我认为我明白如何优化HTML和CSS了,现在要优化渲染树了吗?快了,但是还没有谈论JavaScript,很明显是个重要的步骤,我们来看看,我来猜猜,缩小文件,压缩文件然后缓存?嗯这些都是不错的策略,但是对于JavaScript,你可能还看到PageSpeed Insights指出解析器屏蔽了脚本,我们来看看这是什么意思?如何优化,这里扩展了Hello world页面。

在底部添加了简单的脚本,我们逐步讲解下,首先,我们进入DOM并寻找第一个span元素,可以看出,其中包含“web performance”文本,接着我们对该DOM元素作出修改,更改其innerText,同事更改css属性,似乎很简单,是的,表明JavaScript可以同时操作DOM和CSS对象模型,它是个非常强大的工具,接着创建了新的div元素,设置了文本内容,css颜色属性并附加到网页上,我们在手机上加载下该页面,显示了我们修改的内容。这里可以采取什么措施来优化性能呢?有,优化JavaScript可以花费这个一门课程。

 

很强大,但是这会如何影响性能呢?请注意我们经历的步骤,当我遇到标记时,我们必须暂停DOM构建过程,让js先运行,然后才能继续js,会阻断解析,因为当我们遇到标记时,它会阻止DOM进行构建,明白了,但是影响不大吧?js速度很快,对吧?是的,但是我稍加修改下,

而是将脚本内容放入外部文件里,你觉得现在回发生什么情况?

获取文件并执行,哦,我明白了,获取文件可能要话费一段时间,对吧?当浏览器在获取该文件时遭遇到阻止,无法继续构建DOM,进而降低了关键选路径的速度

是的,标记阻止解析器继续操作,我一直等待获取该文件,效果不太好,如果外部js始终会阻止解析,似乎我应该内联所有的js,不完全对,内联js会减少请求次数,但是也有一些缺点,如果你在多个网页上使用相同的代码,那么这些网页就会出现多余的代码,所以需要权衡。对于特定于一个网页的代码来说,似乎是个不错的策略,是这样的,但是我们来看看相关的利弊和陷阱。

思考下这段代码会发生什么情况,我们进入文档找到所有的段落标记,并对第一个的CSS颜色样式设为红色,样式表规定所有段落文本都应该呈现为黑色,如果在脚本已经执行并将颜色设置为红色后才获得了css样式表,会怎样?浏览器会知道会使用哪个颜色吗?会,下面这个简单图表描绘了实际上发生的情况,浏览器请求HTML一旦获得响应,就开始构建DOM然后发现CSS并发出请求,然后解析器继续操作并找到标记,此时就需要阻止了。它不知道脚本将执行什么操作,因为脚本可能会尝试访问CSS属性,所以它会阻止脚本执行,直到获得CSS并构建CSS对象模型。然后我们才会运行js并完成DOM构建过程。

再次表明优化css非常重要。

内联脚本会被CSS阻止,所以让CSS速度更快的策略都有帮助,实际上为何不内联CSS呢?嗯,这样会减掉一次请求步骤,肯定有帮助,那么js本身呢?你认为它应该阻止呈现?我认为不应该,它向某个分析服务器报告了访问数据,没必要阻止呈现,对吧!

你刚刚提到了个重要发现,某些脚本不修改DOM或CSSOM,不应该阻止呈现,分析工具就是一个很好的例子,真希望能有某种方式告诉浏览器这一点。实际上,是可以的,一种策略是在网页加载后再加载脚本,当浏览器发出onload事件时,再去执行脚本。怎么做呢?当网页加载完毕后,浏览器就会发出onload事件,你可以等待该事件,然后执行脚本。还有个更简单的办法,就是在标记中添加一个属性。

 

 

 

 

 

转载于:https://www.cnblogs.com/wlinglinux/p/6705356.html

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

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

相关文章

如何使用Nikto漏洞扫描工具检测网站安全

本文已发表在专家专栏:[url]http://netsecurity.51cto.com/art/200712/62159.htm[/url]【51CTO.com 独家特稿】随着信息技术的发展,网络应用越来越广泛,很多企业单位都依靠网站来运营,正因为业务的不断提升和应用,致使…

www服务的配置--如何在一台服务器上发布多个网站

不同的ip地址可以发布不同的网站。相同的ip地址不同的端口也可以发布不同的网站。相同的ip地址相同的端口不同的主机头可以发布不同的网站。转载于:https://blog.51cto.com/manlicui/199305

2003网站服务器架设,2003系统IIS搭建网站绑定域名的操作办法

2003系统IIS搭建网站绑定域名的操作办法在桌面打开Internet 信息服务(IIS)管理器,我们简称IIS,右击网站-新建-网站点下一步网站创建向导这里输入一个自己名下一步网站TCP端口一般默认都是80,因为80的端口是只需要输入域名就可以打开了&#x…

发布网站配置服务器错误,WEB网站发布服务器IIS报错问题终极解决方案,查到问题点...

4本次错误webservice发布新服务器后,出现此错误。解决方法:找到dmp文件dmp文件是啥?自己百度。简单的说就是黑匣子,记录程序崩溃前的操作,那么如何找到这个黑匣子呢?1、启动 Windows Error Reporting Servi…

asp.net 报表页面模板_PPT插件,图标,图片,模板网站汇总,总归有一个适合你...

经常碰到小伙伴说,自己在制作PPT时找不到适合的素材资源,最后导致自己做出来的幻灯片丑得不能见人。好吧!今天小编就给大家安利几个非常实用的PPT素材网站,赶紧看看有没有适合你的。一、插件网站1、PA口袋动画这是一个非常强大的P…

【云计算的1024种玩法】二.轻松搭建WordPress网站应用

【云计算的1024种玩法】二.轻松搭建WordPress网站应用题一.创建安全组1.1 进入安全组页面1.2 创建安全组1.3 添加安全组规则二. 创建虚拟私有云(VPC)2.1 进入虚拟私有云页面2.2 创建虚拟私有云三.创建服务器ECS3.1 进入云服务器页面3.2 根据配置参数选择…

小型的搜索引擎设计_【开小灶】运营小白参与网站设计,相关流程amp;技术了解一下...

一个网站从设计到开发,本质上没有运营什么事。作为甲方来讲,他需要了解网站制作的要求、需求、预算、形式(样式)、是否代运营等事项,并由甲方负责前期的需求调研、原型设计、DEMO演示,直至高保真设计&#…

【Microsoft Azure 的1024种玩法】 二十一.利用Azure Blob Service 快速实现静态网站托管

【简介】 静态网站是指所有的网页都由静态内容构成,包括客户端执行的脚本(例如JavaScript)。我们可以通过Azure Blob Service 静态网站托管功能将我们的的静态网站托管到Azure Blob 容器里面,并使用Azure Blob提供的静态网站终结…

改ip地址会有什么影响_企业网站建设使用相同的IP地址对SEO优化有什么影响?...

企业网站建设过程中,如果两个或更多的网站使用相同的IP地址是否会影响SEO优化的排名?大土网络根据一些相关信息整理总结出答案:有一定的影响。那么具体有哪些影响呢,下面大土网络就来给大家讲解一下吧!一、服务器稳定大家可能会听…

黄仁勋的元宇宙梦想:虚拟世界将如同互联网站那样不断涌现

作者 | 祝涛 出品 | CSDN(ID:CSDNnews) 今年8月,英伟达在一篇博客文章中透露,在4月份的GTC主题演讲中,有一部分是由黄仁勋的虚拟数字假人出镜代替。虽然英伟达随后澄清这个数字假人只出现了14秒&#xff0…

asp.net mvc2网站部署在IIS6的方法

部署环境: Server 2003 IIS6 1.先安装好IIS6,再安装.net framework 4.0和asp.net mvc 安装包(主要是里面的一个dll,不安装也可以,只需要找到这个dll,将mvc.dll 放入网站bin目录下,这个dll文件的默认路径是C…

java实现禁用文章功能_防止网站文章被采集:禁止F12,禁止Ctrl+s,禁止ctrl+u,禁止选中文字,禁止鼠标右键...

为什么要学会网站防采集方法:通过JavaScript禁止F12,禁止Ctrls,禁止ctrlu,禁止选中文字,禁止鼠标右键等方法?作为一名网站站长,相信大家都应该听说过“文章采集”,自己原创手写的文章…

分享11个简单优雅的动画设计作品集展示网站

为什么80%的码农都做不了架构师?>>> 日期:2012-4-13 来源:GBin1.com 作品集展示是一个设计网站中设计师最希望表达设计元素和和设计理念的区域。这是一个独立的展示个人作品和天赋的空间。 根据不同的设计,我们介绍了…

11个值得珍藏的4K高清壁纸网站推荐

前言 由于前几天因需求须找一些视觉素材,翻来覆去整了一些,整理了10个图片素材网站可以给大家收藏使用& 作为打开电脑 or 手机第一眼就看到的桌面,给它设置一个赏心悦目的桌面壁纸还是必不可少的。 下面分享了 10 个值得珍藏的高…

分享8个强大的黑客技术学习网站

黑客攻击是一项很难掌握的技能,在很大的程度上要求人们对计算机和软件架构的各种概念和网络系统有深入的了解,今天,分享8个道德黑客学习可以利用的网站 黑客主要有两种:黑帽黑客、白帽黑客。黑帽黑客为了个人利益,利用…

九个完全免费的PPT模板网站

1, 优品PPT 网址:http://www.ypppt.com 很多人推荐这个,个人觉得是国内最好 的完全免费下载PPT模板的地方之一,ppt模板的质量丝毫不输于哪些收费的网站。 2 - OfficePlus 网址:http://www.officeplus.cn/Template/Home.shtml …

优质资源查找推荐-网站

1,优聚集 https://ujuji.com—点击进入/ 2,猪猪盘 https://ionego.net/#term-373–点击进入 里面各种工具,游戏,电影,非常丰富。 3,搜云盘-着重推荐 https://www.ooopn.com/tool/pan/soyunpan/soyunpan.html–点击进入 基本上可…

识图网站推荐-笔记记录

识图网站推荐 常规图片搜索引擎 1-5 为常用的图片搜索引擎,包括谷歌图片、百度图片等,都包含以图识图的功能。 各种图片都可以识别,支持本地上传和网络图片链接的方式。 1、Yandex.Images –强力推荐 地址:https://yandex.com/i…

织梦网站翻页php,DEDECMS织梦模板怎么实现图集单击图片翻页

DEDECMS织梦模板怎么实现图集单击图片翻页?1、为了实现这个功能,我们首先需要获得图片页面的当前页码和总页码编辑include/inc_archives_view.php文件推荐学习:织梦cms(1)找到function ParseDMFields,修改为:function …

【推荐收藏】10个获取免费网页背景纹理的最佳网站

在这篇文章中,我向大家推荐10个最好的背景图片和纹理资源免费下载网站。很多时候,我们看到的网站多是看上去平淡无奇,迫切需要增添一些色彩,彰显一点个性。装饰一个网站,最简单的方法是用一个新的主题,或者…