应用程序/xhtml+xml 内容类型上的 GZip 压缩在 IIS 7.5 / MVC 中不起作用



我有一个在 IIS 7.5 上运行的启用了压缩的 MVC3 站点。

GZip压缩适用于网站的所有页面,除了我在控制器(Response.ContentType = "application/xhtml+xml";)中手动将内容类型更改为application/xhtml+xml(由于各种原因这是必需的)的几个页面。

这种内容类型会导致GZip不起作用,有什么办法可以解决这个问题吗?

application/xhtml+xml不是

IIS 压缩知道要压缩的内置 MIME 类型之一。必须显式启用此 MIME 类型的压缩。

我假设您希望启用压缩,无论它是静态文件还是动态生成的压缩。为此,您必须将 mime 类型添加到计算机级别配置的system.webServer/httpCompression staticTypesdynamicTypes部分。使用部署脚本执行此操作的更简单方法之一是仅使用如下所示的appcmd.exe

添加对压缩静态内容的支持

appcmd.exe set config -section:system.webServer/httpCompression /+"staticTypes.[mimeType='application/xhtml%%2bxml',enabled='True']" /commit:apphost

添加对压缩动态内容的支持

appcmd.exe set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/xhtml%%2bxml',enabled='True']" /commit:apphost

显然,您可以对可能想要压缩的任何其他内容类型使用相同的方法。

相关内容

最新更新