0

シナリオ: 当社では、Web サイトで httpCompression を有効にしています。この Web サイト (マスター Web サイトと呼びます) とそのプレビュー バージョンは、両方とも同じ 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. 圧縮ファイルはどのように保存/キャッシュされますか、または別の Web サイト用に名前が付けられますか?
  2. 両方の Web サイト (プレビューとマスター) に同じ圧縮ディレクトリを使用するとします。ユーザーがプレビュー Web サイトから静的ファイルを要求すると、圧縮されてディレクトリにキャッシュされます。ここで、別のユーザーが同じファイルを要求しますが、マスター Web サイトからのものです。サーバーはプレビュー Web サイトの圧縮ファイルを送信しますか、それともファイルを再度圧縮してディレクトリに保存しますか?
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 に答える