私は現在 Zend Framework を使用しており、さまざまなコントローラーのアクションの一部には、no-cache 用のプラグマが設定されています。これにメタタグを使用するものもあれば、ヘッダーを設定するものもあります。ヘッダーまたはメタタグに設定する方が良いですか? 聞き取りやすいブラウザはどれですか?
1 に答える
HTML メタ タグは使いやすいですが、通常はあまり効果的ではありません。HTTP ヘッダーを使用すると、ブラウザのキャッシュとプロキシの両方がオブジェクトを処理する方法を細かく制御できます。したがって、HTML メタ タグの代わりに HTTP ヘッダーを使用することを強くお勧めします。
また、HTML メタ タグを使用してプロキシがページをキャッシュするのを防ぐことはできないことがわかっている限り、PHP ヘッダーはプロキシとブラウザの両方がページをキャッシュするのを防ぎます。
Microsoft サポートからの考慮すべきもう 1 つの点:
Internet Explorer が参照しているページは、64 KB のバッファーの半分がいっぱいになるまでキャッシュされません。通常、メタタグは、HTML ドキュメントの先頭にあるヘッダー セクションに挿入されます。HTML コードが解析されると、上から下に読み取られます。メタタグが読み取られると、Internet Explorer はその瞬間にキャッシュ内にページが存在するかどうかを調べます。存在する場合は、削除されます。
したがって、コントローラーに移動する方法は次のとおりです。
$this->getResponse()->setHeader('Pragma', 'no-cache', true);
すべてのページでそれを行うリソース プラグインを作成することもできます。