Yslow V2 规则下的优化

  一直以来,在我的疯狂优化提速下,我的 Wordpress 的 Ylow 评分始终保持在 Grade A 99分,几近完美。不过使用的只是 Small Site or Blog 规则,若是用 Yslow(V2) 规则,小站就只能得个 Grade C,差距为何会如此之大呢?小站倒底有哪些条款没做到 Yslow(V2) 的要求呢?又如何加以改正使之进一步提速呢?

  用 Yslow(V2) 规则评测本站,可以发现几个明显的失分点:1.Use a Content Delivery Network(CDN) 2.Add Expires headers 3.Configure entity tags(ETags)这三项我都得了F,这总分 Grade C 也就是被这三项害的。下面一一分析下这三个最容易失分的要点并给出相应的优化方案。

  1.Use a Content Delivery Network(CDN)

  这个看上去好像很深奥的样子,但是只要结合中国的网络特色,这个便不难理解了。“北方服务器”、“南方服务器”、“电信服务器”、“网通服务器”……这些词听起来是那么熟悉和压抑。如果,一个北京的电信用户试图从广东的网通服务器上打开一个类似《壁纸合集》帖子的网页时,你就能很深刻的理解。鉴于这个不是我们开发人员力所能及的准则,所以这里也就不多言了。 此段摘自:http://www.cnblogs.com/levin9/articles/965404.html

  2.Add Expires headers

  浏览器会用缓存来减少 http 请求数来加快页面加载的时间,如果页面头部加一个很长的过期时间,浏览器就会一直缓存页面里的元素。如何给头部加期限呢?其实就是在 .htaccess 文件中写入以下内容:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A86400
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
</IfModule>

  该方法摘自:http://uicss.cn/promotion-loading-rate

  不过可惜,因为我的虚拟主机并没有开启 mod_expires 模块,所以再争扎也没用,对这一点的优化我也只好放弃了。

  3.Configure entity tags(ETags)

  ETags(Entity tags)是服务器和浏览器的一个功能,它用来判断浏览器缓存里的元素是否和原来服务器上的一致。ETags 比 last-modified date 更具有弹性,它用一个独一无二的字符串来标识一个元素的版本。如果你不想发挥Etags提供的这个弹性验证模型的优势,你最好关掉它。我不是很懂这些,所索就把它关掉了事,方法很简单,就在 .htaccess 中加一句话:

FileETag none

  说了半天,我力所能及的就是把 Configure entity tags(ETags) 这一项从F优化到了A,总成绩也从 Grade C 上升到了 Grade B,有点小成绩,心里也宽慰一些。向 Yslow 之 Grade A 继续迈进!

本文已盖 23 层楼

  1. 回复 蛋卷 说:

    看不太懂这个

  2. 回复 猪八戒 说:

    我也优化优化。

  3. 回复 evlos 说:

    嘿嘿嘿,万戈也对速度着迷了 ~

  4. 回复 zhy 说:

    default A600太少啦,Yslow不认账的。。改改啦

  5. 哈哈,没想我g啊g啊的就来了

  6. :arrow: 不好意思。。。昨天发错了,我才开始加的那个也是服务器错误,是这个。

    Header unset Last-Modified
    Header set Expires “Fri, 08 Aug 2050 08:08:08 GMT”

  7. 我的V2下面是B 85分。。。
    对Add Expires headers这一项
    如果没有开启mod_expires 模块
    还可以在htaccess中加下面的代码来实现

    Header unset Last-Modified
    Header set Expires "Fri, 08 Aug 2050 08:08:08 GMT"

  8. 在这里学到好多东西啊。。。呵呵

  9. 回复 houkai 说:

    我用micolog 看来只能无视了 :shock:

  10. 回复 Showfom 说:

    我从来不在乎这个 哈哈

  11. 回复 willin 说:

    服了! 甘拜下風~

Leave a comment

您已输入0

三言两语

我的生活心情语录

工作手札

路漫漫其修远兮

精品推荐

好东西要分享

嘻哈娱乐

八卦趣事一笑而过

电脑网络

全新技术尽搜罗

转来载去

文人墨客美文赏析