SSL と キャッシュの微妙な関係

https でアクセスしたページは、キャッシュされることがないものと、勝手に思い込んでいた。
ホームページの設計に関して、知人と話していて、どうも私の勘違いらしいということがうっすらと分かってきた。
そこで今日、実際にどうなっているのか確かめてみた。

https で通信できるサーバーを構築し、キャッシュファイルをすべて削除した IE6 と ff3 で接続し、どのようなファイルがキャッシュされるか調べてみる。なお、http ヘッダ他で no-cache 指定はしないものとする。

IE6 の場合、アクセスしたページの HTML ファイル本体とそのファイルで指定してあった css ファイルが一時フォルダにキャッシュされることが確認できた。ブラウザを閉じても、これらのファイルは残されたままだった。サイトの設計によっては、このキャッシュファイルの中にクレジットカード情報などが入っていることになるかも知れない。ちょっと恐ろしい仕様だと思われた。サーバー側でがんばって no-cache ヘッダを出すとか、対策をする必要があるだろう。

ff3 の場合、アクセスしたページの HTML ファイル本体とそのファイルで指定してあった css ファイルがメモリにキャッシュされた。ブラウザを閉じたらこれらのキャッシュは消えてしまった。後から出たブラウザだからこうなっているのかも知れない。キャッシュもきいて、センシティブな一時ファイルも残らない、バランスの取れた実装だと思った。
ただ、どうも現バージョンの ff3 は以前に増して、よく落ちる気がしないでもない。

事例としては少ないかもしれないが、とりあえず今日のテストはここまで。
ブラウザによって微妙に挙動が異なるというのは、プログラマ泣かせだ。

この記事へのコメント

hoge
2009年02月28日 17:49
いつも楽しく読ませていただいています。

SSLのキャッシュについてですが、IE6では設定で保存するかどうか選べるようになっています。
全然関係の無いページに、手順が書いてありましたので紹介します。
www.zkai.co.jp/home/error/securepagesave.asp


たしかデフォルトでは、「保存する」ようになっているはずです。
常識では保存しない方が良いはずなんですけどね・・・。
(IE7は、インストールしてないので知りませぬ。)
kazuyoshikakihara
2009年02月28日 22:38
私のIE6では、そのオプション、保存するようになっていました。FFも設定でこのあたりの切り替えができるようになっています。
両者でデフォルトが異なっているのが興味深いです。

ところでそのZ会のページ、セキュリティ関係の説明なしにいきなり「ブラウザの設定を変更してください」というのはひどいですね。

この記事へのトラックバック