针对仅为静态内容提供服务的站点的IIS 7.5优化

我正在设置一个无Cookie的域,旨在为Web应用程序提供静态内容,类似于堆栈交换站点所使用的http://sstatic.net/站点。

我的问题是,我可以对这个域的IIS 7.5设置进行哪些优化? 例如,除了提供静态内容之外,它不会对任何事情负责,那么禁用ASP.NET集成对于本站来说是一个好的举动?

对于使用IIS 7.5build立这样的网站的任何build议或参考将是最受欢迎的。

编辑

只是为了澄清,这不是服务器上的唯一站点,所以build议优化应该针对站点级别,而不是服务器级别的configuration。

    这里有几个注意事项,其中一些是在IIS(HTTP压缩,caching头fx)上处理的,还有一些是在构build过程中/部署前处理的(比如Javascript和CSS文件连接和空白缩小)。

    因此,在一个答案中给你一个完整的概要是有点困难的,因为它的一些将取决于你的构build和发布方法。 在高层次的步骤:

    • 由于您使用了一个新的域,而不是绑定到您的Web应用程序,该网站是“无cookie”的。 由于您没有为域设置任何cookie(使用fx .NET应用程序代码),因此它是“无cookie”的。

    • 您应该绝对 启用静态文本内容 (如Javascript和CSS)的HTTP压缩 。

    • 我不是最大的IISpipe理员,但据我所知,只需要与基本的“Web服务器(IIS)”服务器angular色关联的默认IIS组件。

    • 您应该绝对启用静态内容的长caching标头 。 一般build议是31天,但可以设置更高或更低。 请记住,如果您使用长caching标头提供静态内容,则必须在更改文件时更改URL,以避免客户端重新使用旧的caching内容。

    • 应该启用HTTP保持活动(相同的文档作为caching标头)。

    除此之外,还有一些预部署的任务,比如压缩Javascript和CSS的空白 , 理想的压缩PNG的效果等。这就是您的开发工具和构build周期,以帮助您决定如何进行。

    完成后,尝试从启用了YSlow的静态服务器上下载几个文件。 我发现“经典V2”规则集对这个工作产生了最大的影响,所以我build议检查你的分数与这个YSlow规则集。

    在“Classic V2”规则集中,这些规则适用于您的静态服务器IIS实例和内容:

    3. Add an Expires or a Cache-Control Header 4. Gzip Components 10. Minify JavaScript and CSS 11. Avoid Redirects 13. Configure ETags 19. Use Cookie-Free Domains for Components 22. Make favicon.ico Small and Cacheable 

    有一个非常有趣的写在这里有人使用IIS来提供静态文件。 它主要集中在调整IIS文件caching设置以限制磁盘活动(这是他的瓶颈)。 他说他看到了20倍的业绩增长。