YSlow建议.他们有多重要?

Dav*_*her 8 optimization yslow http-request

所以我刚刚为firebug下载了yslow,并查看了我正在构建的网站的结果.

我看到建议,例如,使用ETags,我的静态组件的无cookie域,并添加过期标头.

我在想,好吧我可以去解决这些问题但是我可以先做一些其他的优化,例如缓存数据库调用的结果或类似的东西.

我不认为这个网站会得到"那么多"的使用来保证YSlow的建议.

我知道你应该在你知道自己需要之前不进行优化,但我认为像ETags和expires标题这样的东西肯定只会在流量非常大的网站上发挥作用.

例如,我写了一个糟糕的实现,每次请求对数据库进行5次(相对较小的)调用,而YSlow告诉我我的14个图像不在无cookie域中,那么这两个优化中的哪一个应该先解决?

Jas*_*rce 5

没有YSlow我们的.htaccess大师.但我最近建立了一个Joomla网站,并使用YSlow找到了改进的地方.您在上面询问的YSlow的两个区域 - "添加过期标题"和"配置实体标记(ETags)" - 我通过域的根目录上的.htaccess文件进行了处理.

添加Expires标头

雅虎表示:"网页越来越复杂,脚本,样式表,图片和Flash就越来越复杂.首次访问页面可能需要多个HTTP请求才能加载所有组件.通过使用Expires头文件,这些组件成为可缓存,可避免后续页面查看中不必要的HTTP请求.过期标头通常与图像相关联,但它们可以并且应该在所有页面组件上使用,包括脚本,样式表和Flash."

为了解决这个问题,我发现并将以下代码块添加到我的.htaccess文件中(注意:将OPENANGLEBRACKET更改为"<"并将CLOSEDANGLEBRACKET更改为">"):


    ########## Begin - Expires Headers
    #
    OPENANGLEBRACKET IfModule mod_expires.c CLOSEDANGLEBRACKET 
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    ExpiresByType application/pdf "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType application/x-shockwave-flash "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/ico "access plus 1 month" 
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/html "access plus 1 day"
    ExpiresByType text/plain "access plus 1 week"
    ExpiresByType video/x-flv "access plus 1 month"
    OPENANGLEBRACKET /IfModule CLOSEDANGLEBRACKET
    #
    ########## End - Joomla! core SEF Section
Run Code Online (Sandbox Code Playgroud)

配置实体标签(ETags)

雅虎表示:"实体标签(ETags)是一种机制网络服务器,浏览器使用它来确定浏览器缓存中的组件是否与原始服务器上的组件匹配.由于ETag通常使用使其成为特定服务器托管唯一的属性构建当一个浏览器从一个服务器获取原始组件并稍后尝试在另一个服务器上验证该组件时,标记将不匹配.

我决定删除所有Etags,它给了我一个A级,将它添加到我的.htaccess文件中:


    ########## Begin - Remove Etags
    #
    FileETag none
    #
    ########## End - Remove Etags
Run Code Online (Sandbox Code Playgroud)

对我的.htaccess文件的这两个更改给了我这两个YSlow类别的A等级.


Aut*_*ter 4

YSlow 非常适合检查用户所看到的“用户体验”。它的建议是帮助使页面出现加载得更快。例如,14 幅图像合成 1 幅图像,而 spriting 纯粹是一种视觉效果。该规则是因为浏览器一次只能并行下载一些图像。

我总是首先解决后端优化问题,因为它们可以帮助您使您的网站可扩展(如果它变得那么大)。

  • 图像精灵不仅使页面看起来加载得更快,它*实际上*会加载得更快(既因为并行下载,又因为精灵实际上会因为压缩而占用更少的总大小)。 (11认同)