为网站应用程序启用压缩Mime类型

时间:2016-01-28 20:33:04

标签: iis http-compression

我们的网站同时使用动态和静态压缩。我知道可以在web.config级别启用/禁用压缩,但是无法在Web配置级别启用静态和动态压缩的mime类型。

意思,本节:

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" staticCompressionIgnoreHitFrequency="true">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
    <staticTypes>
        Stuff
    </staticTypes>
    <dynamicTypes>
        Stuff
    </dynamicTypes>
</httpCompression>

必须进入applicationHost.config,并且通常使用appcmd.exe进行编辑。

我知道applicationHost.config中有一个location元素允许在每个网站上设置很多东西,但是如果动态压缩的mimetypes就是其中之一,我似乎无法找到。< / p>

我尝试使用location元素覆盖这些设置,但没有取得任何成功,也无法找到说明httpCompression元素可能的文档。

更糟糕的是,我们将产品安装为默认站点下的Web应用程序,所以我们真的只想在我们的应用程序下启用这些动态压缩mime类型,而不是站点(或服务器)范围。这可能吗?

通常,我们使用的是IIS 7及更高版本。现在,我们的最小值是7,所以假设任何需要使用它。

我的问题是:

可以在每个网站的applicationHost.config中设置httpCompression设置,也可以在网站下的每个Web应用程序中设置textList = ['1,2,3,4,5,6,7,8'] intList = map(int, textList[0].split(',')) 设置?

是否有不同的方法在网站/网络应用程序级别启用dynamicCompression细节?

2 个答案:

答案 0 :(得分:2)

只是一个重要的精确度:确保您可以在&#34; web.config&#34; 文件中添加MIME类型有一个先决条件:

可以在网站级别的&lt; staticTypes&gt; &lt; dynamicTypes&gt; 部分添加MIME类型(在&#34; web中.config&#34; 仅在&#34; applicationHost.config&#34; 级别明确允许时,如{{3 }}:

  

需要注意的重要一点是修改你的    applicationHost.config (在%windir%\ system32 \ inetsrv \ config中)来自以下设置:

<section name="httpCompression" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
     

为:

<section name="httpCompression" overrideModeDefault="Allow" />
     

将启用httpCompression标记下的配置    web.config 中的system.webServer标记。

答案 1 :(得分:1)

是的,您可以在Web应用程序的web.config文件中添加动态和静态类型。 ApplicationHost.config将定义全局压缩设置,如果要在应用程序中覆盖它们,则可以这样做。以下是我的一个申请中的样本。

<system.webServer>
<modules>
  <remove name="FormsAuthentication" />
  <add name="Glimpse" type="Glimpse.AspNet.HttpModule, Glimpse.AspNet" preCondition="integratedMode" />
  <remove name="UrlRoutingModule-4.0" />
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" />
</modules>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
  <add name="Glimpse" path="glimpse.axd" verb="GET" type="Glimpse.AspNet.HttpHandler, Glimpse.AspNet" preCondition="integratedMode" />
</handlers>
    <httpCompression>
        <dynamicTypes>
            <remove mimeType="text/*" />
            <add mimeType="application/json" enabled="true" />
        </dynamicTypes>
    </httpCompression>

  1. 此处删除dynamicTypes中的标记将删除来自ApplicationHost.config
  2. 的全局条目
  3. add tag在applicationHost.config的全局条目之上添加了额外的mimeType。此添加仅适用于正在修改其web.config的内容。
  4. 同样,您也可以修改staticTypes。