468

Webサーバーのヘッダーにアクセスできない場合は、次を使用してキャッシュをオフにできることを読みました。

<meta http-equiv="Cache-Control" content="no-store" />

しかし、これはIEの一部のバージョンでは機能しないことも読みました。すべてのブラウザでキャッシュをオフにする<meta>タグのセットはありますか?

4

6 に答える 6

735

最新の Web ブラウザーの場合 (IE9 以降)

正しい情報については、ページの上部にリストされている重複を参照してください。

ここで回答を参照してください: すべてのブラウザーで Web ページのキャッシュを制御する方法は?


IE9 以前の場合

これをやみくもにコピペしないでください!

リストはさまざまな手法の例にすぎず、直接挿入するためのものではありません。コピーすると、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 ヘッダーを使用する必要があります。

于 2009-08-27T13:33:44.690 に答える
82

Independent Security Evaluators による、キャッシュの制御に関する業界全体の誤解に関する優れたケース スタディにCache-Control: no-storeよると、Chrome、Firefox、および IEでのみ認識されます。IE は他のコントロールを認識しますが、Chrome と Firefox は認識しません。

于 2014-07-03T14:40:29.457 に答える
24

IE5 では動作しませんが、それは大きな問題ではありません。

ただし、ヘッダーのキャッシュは、メタ要素では信頼できません。1 つは、サイトとユーザーの間の Web プロキシがそれらを完全に無視することです。Cache-Control や Pragma などのヘッダーには、常に実際の HTTP ヘッダーを使用する必要があります。

于 2009-08-27T13:30:50.670 に答える
7

同じサービス呼び出しを繰り返すと、サービス呼び出しにキャッシュの問題が発生することに気付きました(長いポーリング)。メタデータの追加は役に立ちませんでした。1つの解決策は、を渡して、それが別のサービス要求であるtimestampと確実に判断することです。それは私にとってはうまくいったので、このタグを自動的に更新するためにサーバー側のスクリプトコードスニペットを追加しても問題はありません。iehttp

<meta http-equiv="expires" content="timestamp">

于 2012-07-02T17:46:12.250 に答える
7

プラグマはあなたの最善の策です:

<meta http-equiv="Pragma" content="no-cache">
于 2009-08-27T13:30:18.173 に答える
-6

使ってみて

    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Expires" CONTENT="-1">
于 2012-11-07T12:57:13.630 に答える