Webサーバーのヘッダーにアクセスできない場合は、次を使用してキャッシュをオフにできることを読みました。
<meta http-equiv="Cache-Control" content="no-store" />
しかし、これはIEの一部のバージョンでは機能しないことも読みました。すべてのブラウザでキャッシュをオフにする<meta>タグのセットはありますか?
Webサーバーのヘッダーにアクセスできない場合は、次を使用してキャッシュをオフにできることを読みました。
<meta http-equiv="Cache-Control" content="no-store" />
しかし、これはIEの一部のバージョンでは機能しないことも読みました。すべてのブラウザでキャッシュをオフにする<meta>タグのセットはありますか?
ここで回答を参照してください: すべてのブラウザーで Web ページのキャッシュを制御する方法は?
リストはさまざまな手法の例にすぎず、直接挿入するためのものではありません。コピーすると、http-equiv 宣言と W3C バリデーターで失敗するため、2 番目は 1 番目を上書きし、4 番目は 3 番目を上書きします。多くても、各 http-equiv 宣言を 1 つ持つことができます。プラグマ、キャッシュ制御、および期限切れ。最新のブラウザを使用すると、これらは完全に時代遅れになります。とにかくIE9以降。Chrome と Firefox は特に、これらの機能が期待どおりに機能しません。
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
キャッシング ヘッダーは、メタ要素では信頼できません。1 つは、サイトとユーザーの間の Web プロキシがそれらを完全に無視することです。Cache-Control や Pragma などのヘッダーには、常に実際の HTTP ヘッダーを使用する必要があります。
Independent Security Evaluators による、キャッシュの制御に関する業界全体の誤解に関する優れたケース スタディにCache-Control: no-store
よると、Chrome、Firefox、および IEでのみ認識されます。IE は他のコントロールを認識しますが、Chrome と Firefox は認識しません。
IE5 では動作しませんが、それは大きな問題ではありません。
ただし、ヘッダーのキャッシュは、メタ要素では信頼できません。1 つは、サイトとユーザーの間の Web プロキシがそれらを完全に無視することです。Cache-Control や Pragma などのヘッダーには、常に実際の HTTP ヘッダーを使用する必要があります。
同じサービス呼び出しを繰り返すと、サービス呼び出しにキャッシュの問題が発生することに気付きました(長いポーリング)。メタデータの追加は役に立ちませんでした。1つの解決策は、を渡して、それが別のサービス要求であるtimestamp
と確実に判断することです。それは私にとってはうまくいったので、このタグを自動的に更新するためにサーバー側のスクリプトコードスニペットを追加しても問題はありません。ie
http
<meta http-equiv="expires" content="timestamp">
プラグマはあなたの最善の策です:
<meta http-equiv="Pragma" content="no-cache">
使ってみて
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">