YSlow& Google Page Speed对.htaccess冲突的建议

时间:2010-10-18 01:23:51

标签: performance .htaccess yslow pagespeed

提前感谢您的帮助。

我一直在尝试使用YSlow和Google页面速​​度,两者都提供了非常有用的建议,而且似乎都没有优势,但是当涉及到Entity标签时,它们似乎在某种程度上不同意或冲突。以下代码满足YSlows的“配置实体标记(ETags)”指针

Header unset ETag
FileETag None
<FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header unset Last-Modified
Header set Expires "Fri, 21 Dec 2050 00:00:00 GMT"
Header set Cache-Control "public, no-transform"
</FilesMatch>

但是,使用此代码,Google Page Speed会提供以下建议“指定缓存验证程序”。另一名成员Aularon建议使用此代码来满足Google的要求

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 year"
</IfModule>

两者都是分开工作,但两种解决方案都不能满足两个验证器,所以我的问题是。

  1. 我应该关心吗?
  2. 这两个验证器都有一个很好的解决方案吗?
  3. 两种解决方案确实都会产生重大影响吗?

1 个答案:

答案 0 :(得分:3)

  1. 正如易江所指出的,这些都不是验证者。这些工具可帮助您评估页面的性能。你需要考虑他们的建议。但是,设置Expires Header之类的东西并不一定意味着用户代理会尊重它。就我个人而言,我已经看到Firebug中的YSlow附加组件没有列出某些资源,即使我已经设置了Header。关键在于考虑两种工具的输出,但我不会因为试图让两者都开心而打败自己。
  2. 当然。您的第一个到期代码集的所有图形资源将在未来40年内过期。这会对回访者的下载时间产生巨大影响。以及站点维护 - 即确保在站点更改时使高速缓存无效。你的第二条规则将一切缓存一年。这会对您的网站产生非常严重的影响 - 例如缓存所有资源,包括html页面!