web-dev-qa-db-ja.com

HTTPSでブラウザのキャッシュを有効にする

機密データはキャッシュしないでください(つまり、銀行口座の詳細がすべて含まれているHTMLファイルをキャッシュしたくない)が、HTTPSで保護されたサイトでキャッシュできるものがある(Javascript、CSS、画像など)。 Tomcat は、SSL/TLSが有効になっていると、開発者がファイルをキャッシュ可能に明示的に定義することを許可していないようで、ユーザーのブラウザーがHTTPSのメモリ内キャッシュのみを使用していることを理解していますセッションが終了すると、すべてが破棄されます。 Web 2.0全体については、サイトオペレーターは、ユーザーのブラウザーで "緑のバー"を維持しながら、サイトの負荷(およびページの読み込み時間)を削減するこの機能に興味を持っているように思えます私たちは皆、暖かくてぼんやりとした感じです。

更新:HMACを使用してキャッシュされたファイルを検証することに関するビットを削除しました。攻撃者が何らかの形式のハッシュ衝突を利用している場合、ハッシュが秘密鍵で計算されているかどうかは問題ではありません。

14
senecaso

Https応答でこのヘッダーを使用します。

Cache-control: public

または、既存のキャッシュコントロールヘッダーに「、public」を追加します。

Cache control:publicディレクティブを使用して、FirefoxのHTTPSキャッシングを有効にします。

Firefoxの一部のバージョンでは、他のキャッシュヘッダーが明示的に設定されている場合でも、SSL経由で送信されるリソースをディスクにキャッシュするために、キャッシュコントロール:パブリックヘッダーを設定する必要があります。このヘッダーは通常、プロキシサーバーによるキャッシュを有効にするために使用されますが(以下で説明)、HTTPS経由で送信されるコンテンツをプロキシでキャッシュすることはできないため、このヘッダーをHTTPSリソースに設定しても常に安全です。

出典: Google Page Speed

投稿 HTTPSパフォーマンスチューニング は、「ヒント#3:静的コンテンツに永続的なキャッシュを使用する」セクションで、Internet Explorerがhttps接続を介して静的リソースをキャッシュすることもできると述べています。

17