IIS 7上的httpCompression目录,适用于多个网站

时间:2012-05-11 15:14:06

标签: asp.net iis iis-7 iis-7.5 http-compression

情境: 在我们公司,我们为我们的网站启用了httpCompression。该网站(称为主网站)及其预览版本都托管在同一个Web服务器上。预览版用于测试。

web.config文件中的压缩设置为

 <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
  <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
  <dynamicTypes>
    <add mimeType="text/*" enabled="true"/>
    <add mimeType="message/*" enabled="true"/>
    <add mimeType="application/javascript" enabled="true"/>
    <add mimeType="*/*" enabled="false"/>
  </dynamicTypes>
  <staticTypes>
    <add mimeType="text/*" enabled="true"/>
    <add mimeType="message/*" enabled="true"/>
    <add mimeType="application/javascript" enabled="true"/>
    <add mimeType="*/*" enabled="false"/>
  </staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true" dynamicCompressionBeforeCache="true"/>

According to this article,压缩文件暂时保存/缓存到配置设置中指定的目录。就我而言,它是%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files。 我无权访问Web服务器来查看这些压缩文件。所以这是我的问题。

  1. 如何为不同的网站保存/缓存或命名压缩文件?
  2. 假设我为两个网站(预览版和主版)使用相同的压缩目录。如果用户从预览网站请求静态文件,则会将其压缩并缓存在目录中。现在,另一个用户从主网站请求相同的文件。服务器是否发送预览网站的压缩文件,或者再次压缩文件并保存到目录?

1 个答案:

答案 0 :(得分:3)

IIS创建一个复杂的目录结构,如下所示:

%SystemDrive%\ inetpub \ temp \ IIS临时压缩文件\(compressionType)\(AppPool)\(WebSite)\压缩文件

它不会跨Web应用程序共享相同文件的压缩版本。

因此,为了回答您的问题,该文件将有2个压缩版本。

PS - 你也可以在IIS 7.5上本地打开压缩,并在本地看到这个结构。