首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YSlow建议。它们的必要性有多大?

YSlow建议。它们的必要性有多大?
EN

Stack Overflow用户
提问于 2009-07-17 09:43:18
回答 7查看 2.7K关注 0票数 8

因此,我刚刚下载了yslow for firebug,并查看了我正在构建的一个站点的结果。

我看到了一些建议,例如,对我的静态组件使用ETags,无cookie的域,并添加expires头文件。

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

我不认为这个网站会有那么多的使用率来证明YSlow的建议。

我知道在你知道你需要优化之前,你永远不应该优化,但我认为像ETags和expires头这样的东西肯定只会在流量非常大的网站上发挥作用。

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

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-07-17 10:07:46

YSlow可以很好地检查你的用户所看到的“用户体验”。它的建议是帮助页面显示为,以便更快地加载。例如,14个图像对应1个图像,而spriting纯粹是一种视觉上的东西。这条规则是因为浏览器在任何时候都只能并行下载几张图片。

我总是首先处理后端优化,因为它们可以帮助你使网站变得可伸缩,如果它变得那么大的话。

票数 4
EN

Stack Overflow用户

发布于 2009-09-16 13:36:33

在no YSlow中,我们的.htaccess大师。但我最近建立了一个Joomla网站,并使用YSlow找到了需要改进的地方。上面询问的两个YSlow区域--“添加过期标头”和“配置实体标签(ETags)”--我是通过我的域根目录上的一个.htaccess文件寻址的。

添加Expires标头

雅虎说:“网页正变得越来越复杂,脚本、样式表、图像和Flash越来越多。第一次访问一个页面可能需要几个HTTP请求来加载所有组件。通过使用Expires头,这些组件变得可缓存,这避免了后续页面视图中不必要的HTTP请求。Expires头通常与图像相关,但它们可以而且应该用于所有页面组件,包括脚本、样式表和Flash。”

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

代码语言:javascript
复制
    ########## 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

配置实体标签(ETags)

雅虎表示:“实体标签( ETags )是web服务器和浏览器用来确定浏览器缓存中的组件是否与原始服务器上的组件匹配的一种机制。由于ETags通常使用的属性使其对于托管网站的特定服务器来说是唯一的,因此当浏览器从一台服务器获取原始组件并随后尝试在另一台服务器上验证该组件时,这些标签将不匹配。”

我决定删除所有给我A级的Etags,将以下代码添加到我的.htaccess文件:

代码语言:javascript
复制
    ########## Begin - Remove Etags
    #
    FileETag none
    #
    ########## End - Remove Etags

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

票数 5
EN

Stack Overflow用户

发布于 2009-07-17 10:14:25

修复您的分析所说的导致页面浏览速度最慢的任何一个。

请记住,无论您修复YSlow抱怨的任何问题,都很可能在以后有所帮助,而您不必再次进行修复,而数据库优化将是一项持续的任务。

也就是说,如果您在多个域中拆分图像并使其无cookieless,那么当您添加更多图像时,它们应该被拆分到这些域中(希望是自动的),并且不需要再次进行操作。

此外,Expires头可以降低服务器上的请求级别(因为可以缓存响应),这将加快每个人的访问速度。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1142318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档