0

场景: 在我们公司,我们为我们的网站启用了 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"/>

根据这篇文章,压缩文件被临时保存/缓存到配置设置中指定的目录。在我的情况下,它是%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files. 我无权访问 Web 服务器来查看这些压缩文件。所以这是我的问题。

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

1 回答 1

3

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

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

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

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

PS - 您也可以在 IIS 7.5 上本地打开压缩并在本地查看此结构。

于 2012-05-11T15:27:04.310 回答