そのため、ページをキャッシュするためにphpでヘッダーを送信しています(これは「CDN」(contendo/akamai)にも統合されます)。私は常にこのプラグマを使用します。キャッシュヘッダー、さまざまな例で使用されています。しかし、私たちが開発したこの.netアプリケーションのトラフィックをテストするためにフィドラーをチェックしたところ、次のように書かれています。
Legacy Pragma Header is present: cache !! Warning IE supports only an EXACT match of "Pragma: no-cache". IE will ignore the Pragma header if any other values are present. ...
大丈夫だと思います。応答の残りはうまくいくようで、私の仕様では。ここに私のコードがあります:
function headers_for_page_cache($cache_length=600){
$cache_expire_date = gmdate("D, d M Y H:i:s", time() + $cache_length);
header("Expires: $cache_expire_date");
header("Pragma: cache");
header("Cache-Control: max-age=$cache_length");
header("User-Cache-Control: max-age=$cache_length");
}
問題はこれが問題なのか?プラグマヘッダーは何をしますか?必要ですか? HTTPヘッダー仕様のドキュメントを確認したところ、実装固有であり、適用されるプラグマは「Pragma:no-cache」のみであると書かれています。
これは、特定の期間キャッシュするヘッダーの最良の選択ですか?
非常に単純化された形式では、Pragma:no-cache or Pragma:cache
は、キャッシュ命令をクライアント実装、特にブラウザとプロキシに渡す「ほぼ」時代遅れの方法になりました。クライアント実装がプラグマヘッダーに応答する方法はさまざまであるため、仕様では実装固有であると述べています。
Cache-control
のより現代的な方法は、ほとんどすべてのクライアント実装が厳密に従うため、安全に信頼できるものです。
また、同じ命令に対してCache-control
とPragma
の両方が設定されている場合(キャッシングなど)、Cache-control
が優先されます。
これはexcellentのキャッシングに関連するすべての記事であり、非常に興味深い有用な読み物になると思います: http:// www。 mnot.net/cache_docs/