优化网站 - 缩小,精灵等

时间:2010-03-23 01:29:34

标签: iis optimization web minify

我正在查看产品Aptimize Website Accelerator,它是一个ISAPI过滤器,可以连接文件,缩小css / javascript等等。有没有人有这个产品或任何其他“一体化”解决方案的经验?

我很有兴趣知道这样的东西是长期好的,还是会手动设置所有组件(将YUICompress集成到构建过程中,设置gzip压缩,调整过期标题等等)更有益吗?

像这样的一体化解决方案看起来非常诱人,因为如果我们的网站“不是最佳”,它可以节省大量时间。但这些产品效率如何?手动设置组件会产生更好的结果吗?或者,一体化解决方案与手动设置组件之间的差距是否会如此之小,以至于可以忽略不计?

3 个答案:

答案 0 :(得分:2)

要开始,我想你会发现一个非常好的一体化。但随着时间的推移,如果您的网站有一定程度的复杂性,我认为您可能会发现您需要更多的控制权。

例如,我使用某些JS文件因为其中的javascript格式而无法缩小(注意这是我不想更改的第三方文件)。因此,控制“处理”的内容非常重要。

另一个案例,我们使用倾向于使用生成ashx页面的脚本管理器来组合我们的JS文件。据我所知,并非所有“一体化解决方案”都能满足这一需求。此外,脚本管理器已根据我为其配置的缓存设置更改标头。

压缩的另一个例子是,如果根据要切断的内容的类型和大小而拥有大量流量,则需要使用不同级别的压缩。我想我记得Jeff Atwood的一篇文章谈到了他们为SO所做的事情以及他们需要对压缩进行大量控制的事实。

另一个例子是缓存。特别是如果你想进入甜甜圈或甜甜圈洞缓存,这与IIS无关,而是关于所有人如何缓存页面的不同部分 - 就像它可以缓存主页而不是页面本身的动态内容...... afaik没有'一站式解决方案'迎合这一点。

总而言之,我倾向于发现我需要更多地控制正在发生的事情,我更倾向于在构建过程中发生任何缩小(因为您确切知道在运行应用程序时会得到什么)。压缩发生在IIS级别,但我喜欢能够在APP级别控制它。任何缓存或压缩的情况我只是通过web配置控制,这允许很多控制。所以我想如果你有一些简单的东西,但如果你需要更多的控制,那么无论如何你都需要在应用程序中进行。

希望有所帮助。

更新:

刚想到,如果你使用ASP.net MVC,在应用程序级别设置所有这些东西真的很容易,但在经典的ASP.net中操作头文件等要困难得多。因此,在某些情况下,如果您使用经典ASP.net处理较旧的应用程序,则可能更容易使用一体化解决方案。

答案 1 :(得分:0)

我不知道这仍然是您感兴趣或仍在考虑的问题。这些年来我对此非常感兴趣。我发现许多用于在“客户端”级别优化网页的技术(我们不是在谈论服务器端/数据库优化)是相当直接的,并且在技术上并不是非常复杂。随着网站的发展,挑战就是跟上所有最佳实践。这对于规模较大且繁忙的团队来说尤其具有挑战性我发现很简单,因为你专注于为即将发布的版本提供功能。

所以我认为“一体化”解决方案如果做得恰到好处可能会有所帮助,但可能从来没有真正全部在一个,但更像是“莫斯特”。每个站点都不同,我认为没有一个完美的单一尺寸适合所有解决方案。

那就是说我最近发布了自己的开源项目,目标是RequestReduce。这是一项正在进行的工作,但尚未包括JS合并/缩小。它是免费的,它意味着用最少的编码干预来优化页面。我的愿景是让你的代码独自存在。它可能会改变它,但它本身并没有令人不安的功能。此外,在开发时,一切都应该像你离开时一样。此解决方案当前确实合并/缩小了css,自动sprite了背景图像,优化了这些图像的颜色和压缩,并优化了生成的css和sprite文件的缓存头。它适用于任何基于IIS的站点。我计划添加js minify / merge,前景图像优化和spriting以及html缩小。它适用于多服务器环境和CDN。我在微软工作,虽然这是我自己工作的个人项目,但我在一些MS属性上使用它,如Visual Studio库和其他。

无论如何,我希望我听起来不像销售人员。我这里没有赚钱。我确实希望人们尝试它,因为我认为它有很多提供,我想要一些反馈,甚至做出更好的贡献。

答案 2 :(得分:-1)

请考虑Helicon Ape http://www.helicontech.com/ape。作为一体化解决方案,它包括一堆膨胀功能,如URL重写,SEO优化,代理,GZIP压缩,磁盘/内存缓存,网站/服务器保护等。您可以轻松尝试一下,因为Ape的免费没有 - 3个网站的特色切割许可证。