8

IIS Rewrite モジュールを有効にしても、File Cache Hits カウンターが増加しません。

パフォーマンス モニターでヒットを追跡しています (perfmon.exe / Web Service Cache/File Cache Hits)

書き換えを無効にすると、「ファイル キャッシュ ヒット」は IIS キャッシュ アルゴリズムに従って正常に増加します。

どちらの場合も、要求されたファイルは静的な html ファイルです。

URL 書き換えは IIS の静的ファイル キャッシュをブロックしますか?

4

1 に答える 1

2

ドキュメントには、はい、IIS の書き換えにより、ファイルのキャッシュを防ぐことができると記載されています。

IIS 出力キャッシュとの相互作用

URL 書き換えモジュールは、次の目的で IIS 出力キャッシュの動作を制御します。

書き換えられた URL に対する応答のカーネル モードとユーザー モードの出力キャッシュを最適に利用して、URL 書き換えモジュールを使用する Web アプリケーションのパフォーマンスを向上させます。URL の書き換えが原因でキャッシュ ロジックに違反する可能性がある場合に、応答のキャッシュを防止します。このモジュールは、特定のキャッシュ プロパティを変更するか、キャッシュを完全に無効にすることによって、出力キャッシュを制御します。IIS 構成または IIS パイプラインの他のモジュールによって無効にされている場合、モジュールは出力キャッシュを有効にできません。出力キャッシュは次のように制御されます。

  1. モジュールは常に、ユーザー モード キャッシュ設定の varyByHeader="HTTP_X_ORIGINAL_URL" を設定します。これにより、ユーザー モード キャッシュが有効になっている場合、モジュールは元の URL を考慮してキャッシュ エントリのキーを作成します。

  2. 書き換えルール セットが、プロセスの存続期間を通じて一定であるか、要求された URL から派生した値を持つサーバー変数を使用する場合、ルール セットは出力キャッシュに対して安全であると見なされます。これは、URL 書き換えモジュールが、手順で説明したように varyByHeader を設定する以外の方法で、既存のキャッシュ ポリシーを変更しないことを意味します。

次のサーバー変数は、書き換えルールで使用された場合、出力キャッシュ ポリシーには影響しません。

"CACHE_URL"、"DOCUMENT_ROOT"、"HTTP_URL"、"HTTP_HOST"、"PATH_INFO"、"PATH_TRANSLATED"、"QUERY_STRING"、"REQUEST_FILENAME"、"REQUEST_URI"、"SCRIPT_FILENAME"、"SCRIPT_NAME"、"SCRIPT_TRANSLATED"、"UNENCODED_URL "、"URL"、"URL_PATH_INFO"、"APP_POOL_ID"、"APPL_MD_PATH"、"APPL_PHYSICAL_PATH"、"GATEWAY_INTERFACE"、"SERVER_SOFTWARE"、"SSI_EXEC_DISABLED"

3. 書き換えルール セットが上記のリストに記載されていないサーバー変数を使用する場合、そのルール セットは出力キャッシュに対して安全でないと見なされます。これは、URL 書き換えモジュールが、要求 URL が書き換えられたかどうかに関係なく、すべての要求に対してカーネル モード キャッシュを無効にすることを意味します。さらに、モジュールは、ルール セットで使用されるすべてのサーバー変数値の連結された文字列を含むようにキャッシュ プロパティ varyByValue を設定することにより、ユーザー モード キャッシュのキャッシュ ポリシーを変更します。

于 2014-04-09T03:21:38.127 に答える