2013-02-24 63 views
5

IIS再書き込みモジュールを有効にすると、ファイルキャッシュヒットカウンタが増加しません。URL書き換えはIISの静的ファイルキャッシングをブロックしますか?

私はパフォーマンスモニタ(perfmon.exeと/ Webサービスキャッシュ/ファイル・キャッシュがヒット)

私はIISのキャッシュアルゴリズムに従って、正常に増やす「キャッシュヒットファイルの」書き換え無効にした場合でヒットを追跡しています。

要求されたファイルは、両方の場合で静的なhtmlファイルです。

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

+1

IISマネージャで、モジュールと開く機能に移動します。右側の「オーダーリストの表示」をクリックします。もしそうでなければ、RewriteModuleは最下位にあるはずです。 – Jamey

答えて

0

The docs stateはい、IISはファイルをキャッシュしないようにを書き換えます。

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

URL書き換えモジュールをするため でIIS出力キャッシュの動作を制御します。

最適書き換えのための 応答のカーネルモードとユーザーモードの出力キャッシュを利用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を設定することにより、ユーザーモードキャッシュ のキャッシュポリシーを変更します。

関連する問題