ASP.NET MVC中压缩和缓存静态图片的最佳方法是什么?

4
我正在寻找最佳方法来加快MVC网站设计所需的静态图像传送速度。这些图像未经过gzip压缩,也没有在服务器或客户端(使用内容过期)上缓存。以下是一些选项:
  1. 查找为什么图像未被缓存并直接从IIS6进行gzip压缩
  2. 编写专门的http处理程序
  3. 注册用于静态图像的特殊路由并编写二进制actionresult方法
在性能方面,哪种解决方案最佳?
3个回答

3
最佳解决方案是让IIS处理它。 IIS6压缩 - 最可能需要指定要压缩的文件类型,如.jpg、.png、.gif等类型。
缓存将来自于确保从代码向客户端发送正确的标头,并且我相信有一个设置可以在IIS中启用它以用于静态内容,但我对此不确定。

Jeff Atwood列举了他在启用压缩时遇到的一些问题。http://www.codinghorror.com/blog/archives/000059.html - Cherian

2
肯定地说,大多数图像使用gzip压缩的收益微不足道,因为它们已经被压缩了吗?
也许你有一些压缩得非常糟糕的PNG文件之类的东西?
你可能想查看雅虎的性能建议网站,其中包括一些有用的优化图像的提示,包括链接到实用程序,如pngcrush
使用一次图像优化实用程序要比依靠IIS即时(可能效率低下)压缩它们好得多。

1

在 MSDN Code Gallery 上有一个很好的库可以做到这一点。它叫做 FastMVC


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接