我正在设置一个无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倍的业绩增长。