【问题标题】:httpCompression directory on IIS 7 for multiple websitesIIS 7 上用于多个网站的 httpCompression 目录
【发布时间】:2012-05-20 05:06:34
【问题描述】:

场景: 在我们公司,我们为我们的网站启用了 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. 假设我对两个网站(预览版和主版)使用相同的压缩目录。如果用户从预览网站请求静态文件,它会被压缩并缓存在目录中。现在,另一个用户从主网站请求相同的文件。是服务器发送预览网站的压缩文件还是再次压缩文件并保存到目录?

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 感谢@Eric 的回复。您能否提供任何 MSDN 链接来解释文件的命名方式?只想知道整个压缩过程。
    • 查看我上面的编辑——最好的办法是在 IIS 7.5(甚至是测试应用程序)下本地运行 Web 应用程序,启用压缩,然后检查结构。
    猜你喜欢
    • 1970-01-01
    • 2011-05-24
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 2013-08-10
    相关资源
    最近更新 更多