HTTPサーバーとWeb開発

88. ブラウザキャッシュの仕組みと削除方法

Web開発の初心者が最初にぶつかる疑問のひとつに、

  1. HTMLをサーバーにアップロードして表示に成功した!
  2. 次に同じHTMLを変更して再アップロードした。
  3. しかしブラウザで表示してみると、変更は反映されていない?

ということがある。
これはブラウザの1.のキャッシュが残ったままになっていることに気づかないからである。

■ ブラウザキャッシュとは?

Webサイトを閲覧する際に使用する Internet Explorer や Firefox など多くのブラウザには
キャッシュという機能がある。
ブラウザのキャッシュとは、Webページにアクセスした時、アクセスしたページのデータ
(HTML、JS、CSS、画像ファイル等)を PC 内に保管することをいう。

ブラウザがHTTPサーバーにコンテンツを要求すると、HTTPサーバーは次の応答をする。

[サーバーのコンテンツの日付・時刻] > [キャッシュのコンテンツの日付時刻] の場合

⇒ 新しいコンテンツをダウンロードする。(200: OK)
(このコンテンツが上書きキャッシュされる。)

[サーバーのコンテンツの日付・時刻] <= [キャッシュのコンテンツの日付時刻] の場合

⇒ キャッシュのコンテンツを利用するように指示する。(304: Not Modified)

■ ブラウザキャッシュによる影響

PCの時計がサーバーの時計より進んでいる場合、サーバーのコンテンツを更新しても
そのタイムスタンプがPCのキャッシュのタイムスタンプを上回らない場合が発生する。
このような場合、キャッシュが十分新しいものとして誤解され、コンテンツが
ダウンロードされない。
これは、サーバーのコンテンツが短時間に頻繁に更新されるという開発中の時に
問題となる現象である。

■ ブラウザキャッシュの消し方

キャッシュの消し方にはキャッシュを一括で消す方法と、
指定したキャッシュのみ消す方法がある。

【 ブラウザキャッシュを一括削除方法 (例:IE9の場合) 】

1. Internet Explorerを起動

2. インターネットオプションを開く

[ツール]メニュー @ → [インターネットオプション] A を選択する。

インターネットオプションを開く

3.閲覧の履歴の削除ダイアログを表示する

[全般タグ @] - [閲覧の履歴] 枠内の削除ボタン A を押す。

閲覧の履歴の削除ダイアログを表示する

4. インターネットの一時ファイルを削除する

  • ・ お気に入り Web サイトデータを保持する @
  • ・ インターネットの一時ファイル A

のチェックボックスにチェックが入っていることを確認して削除ボタン B を押す。

インターネットの一時ファイルを削除する

【 キャッシュを選択して削除する方法 (例:IE9の場合) 】

キャッシュをすべて削除したのでは、せっかくキャッシュしている
データやコンテンツもすべて削除されてしまう。
そこで、現在テスト中のものだけを選択して削除する方法を紹介する。

1. ブラウザからキャッシュが保管されているフォルダを開く

上記 [インターネットオプション] ダイアログで「設定」ボタンを押して、
設定ダイアログの「ファイルの表示」ボタンを押す。

ブラウザからキャッシュが保管されているフォルダを開く

2. 選択してキャッシュを削除する

キャッシュされたファイル一覧がWindowsエクスプローラで表示されるので、
個別に選択して削除する。

選択してキャッシュを削除する

削除するファイルは次の項目でソートするとすばやく探すことができる。

  • ・ 更新日付でソートする
  • ・ ファイル名でソートする
  • ・ [インターネットアドレス(URL)] でソートする

削除後、「インターネット一時ファイルと履歴の設定」画面に戻ってOKボタンを押す。