勘違いしていると思うので確認の意味を込めて質問します。
header("http-equiv: cache-control");
header("http-equiv: no-cache");
上記の2つを入れても意味はありますか?
要はキャッシュさせないようにしたいだけなんですが
ヘッダーで下記の3つを入れる場合にどのようにすればよいのか教えてください。
そもそもmetaタグなのでヘッダーに入れる意味はないという事でしたら
それでも構わないのでアドバイスいただければと思います。
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
header()の中身が違います
header("http-equiv: cache-control"); header("http-equiv: no-cache");
は
header("cache-control: no-cache");
となります
したがって、
<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0">
は
header("pragma: no-cache"); header("cache-control: no-cache"); header("expires: 0");
となります。
METAタグで対応できるものをわざわざheader()で出力することもないかと思いますが、より確実にといったニュアンスになるかと思います。
header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' );
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Cache-Control: post-check=0, pre-check=0', false );
header( 'Pragma: no-cache' );
有効期限を実質ゼロにするための日付と最終変更時刻を入れておく。
HTTP/1.1仕様としてCache-ControlをHTTP/1.0仕様としてPragmaを入れておく。
恥ずかしながら
header("http-equiv: cache-control");
header("http-equiv: no-cache");
という表記は知らないのですが、何を参考になさったのでしょうかお教えいただければ幸いです。
ありがとうございます。
とても参考になりました。
質問中にある
header("http-equiv: cache-control");
これは単にHTMLのMETAタグの中身を入れてみただけで似たような効果が得られると思ってしまい
書いたモノです。
そもそもの意味を取り違えている部分があり
恥ずかし限りですが参考にさせていただきたいと思います。
ありがとうございます。
私の中が深く考えすぎて変な方向にいっていたようです。
とても参考になりました。