51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2220|回复: 0
打印 上一主题 下一主题

[讨论] YSlow评分达到A级

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-5-11 15:38:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们知道YSlow是方便大家优化网页从而产生的工具,研究清楚其评分标准,掌握其原理就能将网页性能最大化。
YSlow规则中一共有13条,其中比较重要的有11条,先简单说说各自的大概解释:

1、Make fewer HTTP requests--更少的http请求,也就是说页面中尽量少的引用外部静态资源,js、css以及图片

2、Use a CDN--使用CDN网络,将页面中的静态资源分布到离用户最近的网络节点上

3、Add an Expires header--为静态资源文件增加过期时间,让用户通过本地缓存来更快的访问网站

4、Gzip components--压缩静态资源内容,减少网络传输时间

5、Put CSS at the top--将CSS放在页面头部,能够更快渲染页面

6、Put JS at the bottom--将JS放在页面底部,一般情况下JS的下载是阻塞模式的,放在页面顶部会阻塞其他资源的下载

7、Avoid CSS expressions--不要使用CSS表达式,因为CSS表达式需要很多资源,有时甚至会造成页面假死

8、Make JS and CSS external--将CSS和JS使用外部的独立文件,这点有点和1冲突,但是仔细分析下,并不矛盾

9、Reduce DNS lookups--减少DNS查找(这点我后面详细解释下)

10、Minify JS--最小化压缩JS,和第4点不同,使用YUI Compressor或者JSMin将JS文件进行分析,将一些变量
名变短,去除不必要的空格和符号

11、Avoid redirects--避免无意义的跳转

12、Remove duplicate scripts--去除重复的脚本,不光是文件,甚至是同功能的函数

13、Configure ETags--配置实体标签







今天先讲讲比较容易做到的几点(实现难易程度不一样,注意先后次序):

YSlow第八条:这点我相信大家比较容易理解,而且很多都已经实施,就是将CSS和JS独立成相应的文件,使用
link和script标签应用;


YSlow第三条:因为静态资源文件(CSS\JS\IMG统称静态资源文件)往往是变化不大的,那么可以在HTTP头中
增加相应的过期时间,让浏览器缓存在本地,这样当第二次使用的时候,就不会下载全部内容,只是进行状态检查;


YSlow第四条:也很好理解,将静态内容压缩后,减少网络传输时间;因为IIS的压缩设置相对较烦,可以使用第
三方工具,如IISxpress,支持32位和64位,而且还有一个技术交流版的授权;



做到以上三点,网页速度已经有比较明显的加速了,还有几点虽然略微麻烦,但是也是很好的加分手段:



YSlow第十条:最小化JS文件,我们写的JS往往包含空格、TAB等对JS执行没用影响的字符,但是这却实实在在
的增加了JS的体积,使用工具能够去除这些无用的字符,减少文件体积。但是同样带来的问题就是,JS不能有
错误,另外压缩后的JS代码很难阅读,所以如何在开发时和发布时协调好就是很大的问题,为了这点我们使用
不同的文件引用,在开发时(DEBUG)使用未压缩版,在发布时(RELEASE)使用压缩版,使用#if #else #endif引用
不同的文件;



YSlow第九条:这点我在扩展阅读一里面详细阐述了,不重复码字了;(个人认为最重要一点)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 14:18 , Processed in 0.065223 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表