我首先要提一下,我已经做了一些挖掘,但似乎无法找到我要找的正确答案.
我正在使用一些外部资源的网站上工作:
我在"使用内容分发网络(CDN)"上获得了"F"级.一个不同的SO Post链接到YSlow FAQ(直接链接),但这似乎表明我需要在我的浏览器上定义我的CDN,这对我来说似乎是一个快速解决方案,但这并不能解决其他浏览器和/或设备.
至于"添加过期标题"等级,我得到了E.问题是,这就是我得到的:
There are 3 static components without a far-future expiration date.
(2014/2/26) http://fonts.googleapis.com/css?...
(2014/2/26) http://www.google-analytics.com/analytics.js
(2014/2/26) http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js
Run Code Online (Sandbox Code Playgroud)
我怎么去纠正这个?我的本地文件都由我所照顾,.htaccess
如下所示:
AddType image/x-icon .ico
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month" …
Run Code Online (Sandbox Code Playgroud) 所以我刚刚为firebug下载了yslow,并查看了我正在构建的网站的结果.
我看到建议,例如,使用ETags,我的静态组件的无cookie域,并添加过期标头.
我在想,好吧我可以去解决这些问题但是我可以先做一些其他的优化,例如缓存数据库调用的结果或类似的东西.
我不认为这个网站会得到"那么多"的使用来保证YSlow的建议.
我知道你应该在你知道自己需要之前不进行优化,但我认为像ETags和expires标题这样的东西肯定只会在流量非常大的网站上发挥作用.
例如,我写了一个糟糕的实现,每次请求对数据库进行5次(相对较小的)调用,而YSlow告诉我我的14个图像不在无cookie域中,那么这两个优化中的哪一个应该先解决?
我正在查看内部Web应用程序的YSlow结果,然后单击"添加CDN"按钮.现在我有A
使用CDN 的评级.
刚刚发生了什么?
我在拥有47页的asp.net(vb)网站上通过Yahoo的YSlow运行我的网站.有一些问题,但其中一个说我得到了" 使用无Cookie域名的F级 ".
具体来说,它说:
当浏览器请求静态图像并发送带有请求的cookie时,服务器会忽略cookie.这些cookie是不必要的网络流量.要解决此问题,请确保通过创建子域并将其托管在那里,通过无cookie请求请求静态组件.
我真的不知道他们想告诉我什么.他们说我的主页上的43个组件不是无cookie的,包括:site.css,print.css,homeslider.js,然后38或39 .jpg或.png图像不是无cookie的.
有谁知道如何改善这一点并提高我网站的性能?感谢您提供任何建议!
我有一个Web应用程序,我想在其上运行Yslow.测试需要与Jenkins集成.该应用程序有一个登录页面.如果我提供应用程序的URL,如果未登录有效用户,将显示登录页面.那么如何使用YSLow和Jenkins测试性能呢?是否可以自动登录部分?
我在Apache 2.2上使用mod_deflate,压缩级别设置为9.我根据YSlow(v2)的建议调整了网站的每个可能方面,并设法获得整体A级(总分: 91)以及所有类别除外:
YSlow仍然用F报告,并告诉我在我的CSS和JS文件上使用gzip.以下是YSlow报告的截图(该域名因隐私而模糊不清):YSlow报告的屏幕截图:http: //img29.imageshack.us/img29/9160/yslowreportdomainblurre.jpg
但是,像GIDNetwork GZIP Test这样的网站报告完美的压缩!
# Below uses mod_deflate to compress text files. Never compress binary files.
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
# compress content with type html, text, js, and css
AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript text/xml image/svg+xml application/javascript application/x-javascript application/atom_xml application/rss+xml application/xml application/xhtml+xml application/x-httpd-php application/x-httpd-fastphp
# Properly handle old browsers that do not …
Run Code Online (Sandbox Code Playgroud) YSlow建议我使用HTTP压缩来提高网站的性能.但是,正如雅虎所指出的那样,存在一些问题.
浏览器和代理存在已知问题,这些问题可能导致浏览器期望的内容与压缩内容相关的内容不匹配.幸运的是,随着旧浏览器的使用逐渐减少,这些边缘情况正在减少.Apache模块通过自动添加适当的Vary响应头来帮助解决问题.
我知道最常见的问题出现在代理后面的IE6.但今天这些问题有多常见?为了量化它,大约有多少百分比的网络用户遇到HTTP压缩的错误?
我终于得到了一个VPS主机帐户设置,这允许我使用mod_deflate和mod_header(当然).我试图通过YSlow的指导方针使我的网站更快,其中包括gzipping(通过mod_deflate)页面和设置一个长期过期标题.
这个.htaccess代码会是什么样的?我已经看过各种例子,但我想知道适合这些参数会是什么样子.
例如
# Mod_deflate
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|iso|tar|bz2|sit|rar|png|jpg|gif|jpeg|flv|swf)$ no-gzip dont-vary
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.[0678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
</IfModule>
Run Code Online (Sandbox Code Playgroud) "网页越来越复杂,脚本,样式表,图像和Flash就越来越复杂.首次访问页面可能需要多个HTTP请求来加载所有组件.通过使用Expires头文件,这些组件可以缓存,避免在后续页面查看中不必要的HTTP请求.过期标题通常与图像相关联,但它们可以并且应该在所有页面组件上使用,包括脚本,样式表和Flash."
正如Yslow所写.
我的问题是,为具有多个样式表,Flash标题,Javascripts,图像,PDF,MS Excel文件,PPT等的网站设置过期标题需要多长时间?
如果我想在所有事情上设置相同的过期时间.
YSlow给了我"有94个组件配置错误的ETag" - 消息.我.htaccess
在Apache上配置了"FileETag MTime Size".图像以这种格式显示etags : 245975c-3f4-9d8ae780
. 我们不打算扩展或使用CDN.
我怎样才能使它们正确和实用?对我来说,他们似乎是正确的,我不知道为什么YSlow将它们标记为错误配置.
或者我应该禁用它们并过期?这是我在其他地方发现的建议.
yslow ×10
optimization ×3
performance ×3
asp.net ×2
gzip ×2
mod-deflate ×2
.htaccess ×1
apache ×1
cdn ×1
compression ×1
cookies ×1
etag ×1
http ×1
http-request ×1
jenkins ×1
mod-headers ×1
phantomjs ×1