yahoo开发的网页评分插件YSlow的评分规则(2)

http://www.itjxue.com  2015-08-07 22:21  来源:未知  点击次数: 

6. Put JS at the bottom 把Javascript脚本尽量放到页面底部加载。

一开始为以为Javascript脚本尽量放到页面底部加载,是指所有的JS脚本都要放到底部,后来才发现,并不完全是这样,这里所指的脚本是指那些在加载过程中要执行的脚本,所以一般的处理办法还是页面头部引入JS链接,页面底部执行JS脚本程序。为什么要这么做呢?呵呵,其实很简单,为了实现最大的下载并行,页面加载初期做的事,最好只有下载,HTML的下载,CSS的下载,JS的下载,等下载完成后再去实现页面渲染,JS脚本运行。这个方面我们还需要努力,很多页面我们在加载过程中运行了一部分脚本,或许是为了实现一些功能,没有办法,不过或许有更好的办法来替代呢。。。

7. Avoid CSS expressions 避免CSS表达式

其实在CSS中运行表达式和页面加载中运行大量的JS脚本差不多,或许还更慢,而且还不兼容,虽然可以使我们在页面逻辑简单不少,但是我们完全可以抛弃之。这个点,我们的页面基本上都做到了。不过说实话,CSS表达式,嘿嘿,我以前还不知道有这么回事。惭愧。哈哈。

9. Reduce DNS lookups 尽可能少的DNS查找。

这项我们做的不是很好。D级,有9个域名,一般不要超过4个。不过这个主要是服务器架构上的问题,我们也无能为力,现在单单首页的广告域名就有好几个,好耶的广告域名,雅虎的广告域名,淘宝店广告域名,打点的域名。如果去掉这些,我们其实还是够用的,一个主域名,一个图片的,一个STYLE的,最多加上IFREAM的刚好4个。

10. Minify JS 对Javascript 代码进行压缩。

这点我很早以前就对此关注了,也找到了一个不错的压缩工具,yuicompressor,雅虎美国开发的JAVA压缩包yuicompressor.jar。压缩的相当完美,不仅把代码间的空格换行给去除掉了,而且对变量名,北部方法名都进行的简化,无意中实现了混淆脚本的作用。现在我们仅仅做到了JS合并,并没有对齐进行压缩,如果我用yuicompressor手工的去压缩,虽然实现了JS压缩,但是给我们自己的维护量增加了一倍,因为我们需要维护2套JS脚本,一套是压缩前的(调试用的),一套是压缩后(发布到网上的),而且要保证2套代码一致。所以最完美的做法是在发布的时候实现JS脚本合并,并对其用yuicompressor进行压缩,然后发布到晚上,把关键点移到发布的时候,这样我们只需要关心一套JS脚本(发布前的版本)。而且我觉得这个方案完全是行动通的。

11. Avoid redirects 避免重定向(跳转)

怎么理解这点呢?

我们经常遇到的一种做法,注册成功后,旺旺会有一个页面提示“你已经注册成功,3秒后将自动跳转到XX页面”。我就觉得很奇怪,你为什么不直接跳转到该去的页面?还有一种,我们大家非常熟悉,一般我们页面的链接都写成:http://china.alibaba.com或者http://china.alibaba.com/,有人会问,有区别吗?我明确的告诉大家,有!服务器如果接收到的URL是http://china.alibaba.com,它会自动重新定向到http://china.alibaba.com/,虽然最后都打开了阿里巴巴中文站的首页,但是前者比后者多走了一步,重定向,显然多多少少浪费了一定的时间。所以以后我们加URL链接的时候,别忘了把最后的“/”给加上去。

12. Remove duplicate scripts  去除重复的脚本

这个其实没有什么好说的,大家都应该毫无条件的去遵守,但是越是明显,越是简单的事,我们往往会做不好,当然,很多理由的,项目时间太紧张了等等,导致代码很乱,很多重复的地方。其实谁都知道重负不好,不过还好,我们的页面重复的脚本代码不多(至少一个页面里面,呵呵)。不过,我到是希望,我们不仅要做到一个页面脚本不重复,而且要做到N个页面,脚本要重用。

13.Configure ETags  这个好像是服务器端配置的问题,我不太懂,也就不乱说了,怕把大家给误导了。

总共13个,但是看了YAHOO的官方说明,好像还有一个AJAX CACHE(AJAX 缓存)。我倒是觉得这个很重要,随着我们AJAX应用的广泛,AJAX 缓存这个概念一定要时刻在我们脑子中,AJAX是个好东西,但是重复的数据,无休止的向后台申请,绝对是个错误(不仅是速度上还是对服务器压力上来说),所以我们就要对我们已经申请到的数据进行缓存,当第2次用到的时候,就直接从缓存中取,不要在去访问我们宝贵的服务器资源了。其实这个思想不仅仅适合AJAX,在所有有数据复用的应用中都应该考虑到。

YSLOW就分析到这里完毕了,或许有些地方分析的不是很正确,或许有人分析的比我更早,更好,但是这些的确是我从工作中去积累,发现的,并很多都实际应用到工作中去了,顺便说下,嘿嘿,LIST页面进行优化后,在0.92版本的YSLOW评分将达到76分,甚至80分,相当于0.8版本的90分以上。不过评分毕竟是评分,关键还是速度。

(责任编辑:IT教学网)

更多