- PR -

IEでのキャッシュ無効化

投稿者投稿内容
未記人
会議室デビュー日: 2004/07/12
投稿数: 9
投稿日時: 2004-07-12 15:41
IE(ver6)でキャッシュを無効化したいのですが、
ネットで報告されているやり方を試してみても、
うまくいかずに困っています。

環境は、IE + Struts を使用しています。

キャッシュを無効化する方法としては、
HTML の META タグを記述する方法ではなく、
ヘッダを付け加える方法で行おうと思っています。

ソースは以下のようにしてみました。
---
response.setHeader("Cache-Control" , "no-cache");
response.setHeader("Pragma" , "no-cache");
response.setDateHeader("Expires" , -1);
---

結果としては、
一部のページでキャッシュが無効化されているようですが、
ほとんどのページは無効化されません。

アドバイスをお願いいたします。
AC
会議室デビュー日: 2003/01/14
投稿数: 15
お住まい・勤務地: 東京都
投稿日時: 2004-07-13 17:10
はじめまして。


無効化されるページと、されないページの違いはなんでしょう?
何か思いつきますか?

まさかGETだ、とかそういうオチではないですよね・・・
未記人
会議室デビュー日: 2004/07/12
投稿数: 9
投稿日時: 2004-07-14 10:12
ACさん、返信ありがとうございます。

すみませんが、そういうオチだったようです・・・
アドバイス、ありがとうございます。

後は、戻るボタンを押した時に、
「警告 : ページの有効期限切れ...」
のようなページが出てくれればいいのですが、
Expiresの設定ではだめなのでしょうか?

更なるアドバイスをお願いいたします。
AC
会議室デビュー日: 2003/01/14
投稿数: 15
お住まい・勤務地: 東京都
投稿日時: 2004-07-14 15:15
えっと、GETで画面が表示されちゃうときにキャッシュ見てます?
見てないと思うのですが・・・それじゃダメなんですね?


「ページの有効期限切れ」と表示させるためにはPOSTにするしかないです。



未記人
会議室デビュー日: 2004/07/12
投稿数: 9
投稿日時: 2004-07-15 11:22
現状としては、とりあえず、全部POSTにしました。
Temporary Internet Filesにファイルは作成されなくなったのですが、
戻るボタンを押すと、前の画面が表示されてしまいます。

ファイルが作成されなくても、前の画面が表示されるものなのでしょうか?
AC
会議室デビュー日: 2003/01/14
投稿数: 15
お住まい・勤務地: 東京都
投稿日時: 2004-07-15 13:24
引用:

未記入さんの書き込み (2004-07-15 11:22) より:
現状としては、とりあえず、全部POSTにしました。
Temporary Internet Filesにファイルは作成されなくなったのですが、
戻るボタンを押すと、前の画面が表示されてしまいます。

ファイルが作成されなくても、前の画面が表示されるものなのでしょうか?


GETなら「有効期限切れ」にはならず前の画面は表示されます。
戻るボタンを押下したときに、requestしなおして最新の情報をとっていると思います。
確認してみてください。
未記人
会議室デビュー日: 2004/07/12
投稿数: 9
投稿日時: 2004-07-15 17:46
ログを埋め込んでみたのですが、
requestしなおしていないようです。
画面上でもrequestしなおしているようには見えません。

Temporary Internet Files以外に
どこかキャッシュしているところがあるのか探してみましたが、
履歴にもキャッシュがあるんですね。

試しに、何ページか画面を遷移させた後、
Temporary Internet FilesとHistoryの中身を手動で消してみましたが、
それでも戻るボタンで前のページに戻ります。

ただ、インターネットオプションからファイルを削除してから戻るボタンを押すと、
「警告 : ページの有効期限切れ...」 が表示されます。

Temporary Internet Filesの中身を手動で消すのと、
インターネットオプションから消すのとで、なにか違うのでしょうか。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-07-15 22:40
高速化のためにメモリ内に残していると考えるのが自然でしょうね。
IEのソースが公開されていればはっきりと分かるのでしょうけれど。

スキルアップ/キャリアアップ(JOB@IT)