2012-08-29 6 views
5

特定のaspxページをブラウザにキャッシュします。私はASPXのページとしてそれを持つための正当な理由があり、私はブラウザ上でキャッシュが必要です。ブラウザのキャッシングにURLのパラメータが含まれていますか? (ASPXページ)

サーバーキャッシュでは、パラメータごとにキャッシュを変更できます。ページレスポンスをキャッシュする際に、ブラウザもパラメータを考慮していますか?

など。次の2つの応答は、ブラウザ上の異なるキャッシュ項目として保存されますhttp://mypage.com/page.aspx?Param=1http://mypage.com/page.aspx?Param=2

答えて

5

それが別々にキャッシュしますので、はい、ブラウザが2つの異なるリソースとしてそれらのURLを扱います (ケース・キャッシュ・ヘッダーにそうすることを示します)。

Fiddlerを使用して簡単にテストできます。

+0

あなたのポインタをお送りいただきありがとうございます。私はこの問題に使っていませんでしたが、私が持っていた他のものにとっては間違いなく役に立ちました。 –

2

編集2: How to instruct browsers to ignore GET parameters when caching a resourceにも同様の問題があり、両方のページを同じページとしてキャッシュする場合は、難しい場合があります。あなたがそれらを異なるようにしたい場合は、デフォルトの動作を設定しますが、あなたの

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="CACHE"> 

タグが明示的にそれを行うには、ブラウザを伝えるために設定されていることを確認する必要があります。

オリジナルの答え:

あなたはそれがしたい場合は、選択することができます。あなたが異なっキャッシュにそれらをしたい場合たとえば、varyByParam =「PARAM」で出力キャッシュを設定します。

<%@ OutputCache Duration="60" VaryByParam="Param" %> 

あなたはインクルードは、PARAMオプションによって異なります使用しない場合は、それらのページの両方が同じをキャッシュします。複数のパラメータで変更する場合は、セミコロンで区切ります。出力キャッシュの

<%@ OutputCache Duration="60" VaryByParam="*" %> 

詳細情報:あなたは、私たちのすべてのparamsで*ワイルドカードを変更したい場合は http://msdn.microsoft.com/en-us/library/y96218s9.aspx

編集: ちょうどあなたの質問を再読み込み。これにより、ブラウザではなくサーバー側でのキャッシュが発生します。

関連する問題