キャッシュさせないためのHTMLヘッダ設定まとめ

前から何回か調べてるのにもかかわらず、
度々忘れてまた調べるということがあるので備忘録です。

キャッシュ関連のメタタグ

    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-cache">
    <meta http-equiv="Expires" content="0">


http-equiv="Pragma"、http-equiv="Cache-Control"

この2つのタグでキャッシュの扱いを決めます。
なお、「http-equiv="Pragma"」はHTTP1.0プロトコルを使用して通信する際に使用するものであり、現在は後方互換性を保つために残されているようです。
よって、HTTP1.1だけで良ければ「http-equiv="Cache-Control"」のみでOK

no-storeとno-cacheについて

no-store:キャッシュするな
→ Webサーバから返却されるコンテンツをキャッシュするなという指示。
no-cache:キャッシュしても良いが、確認してから使え
→ キャッシュは使用しても良いが、現在でも有効か否か確認した上で使用しろという指示。

no-cacheがキャッシュを使用しない設定に思えてしまいますが、
実際には、no-storeがキャッシュをさせない設定です。
ただし、大体の場合ではno-cacheでOKと思われます。

http-equiv="Expires"

キャッシュの有効期限を設定します。
「content=」の部分に、秒数かGMT(グリニッジ標準時)で期限を設定します。
「content="0"」とした場合は、キャッシュさせない設定となります。