現在、J2EEを使用したWebアプリケーションを運用しています。
そのシステムで、ブラウザのキャッシュが残っているために不具合が起きて困っています。
ブラウザのキャッシュを破棄すれば解決することが分かっていますが、お客様に毎回キャッシュを破棄させるわけにもいきません。
なので、サーブレットかJSP(なるべくサーブレット)で自動的にブラウザのキャッシュを破棄したいのです。
ブラウザ:IE6
Java:JDK1.4
どなたか、ご存知ありませんか??
ご存知の方、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
意味を履き違えていました。
すいません。> これはキャッシュを残らないようにするものではありませんか?
その通りなのですが、"cache"が無くても"history"があれば「戻る」ボタン使えますよ?
(当方、IE6/FireFox2)
以下、蛇足。
▼キャッシュの削除について
サーバサイドで動くプログラムからクライアントサイドのデータは操作できず、
キャッシュ時に有効/無効設定。
有効時はさらにいつまで有効とするのかの設定ができるだけで、
既にキャッシュされてしまったデータはどうしようもありません。
(つまり、サーバサイドプログラムの時点でアウト)
▼キャッシュとリクエストについて
キャッシュを残さない設定にした場合、
残らないのは出力するコンテンツ(サーブレット/JSPによって出力されるHTMLデータ)のみで
そこから呼ばれる画像なんかは、アドレスの動的生成やレスポンスヘッダの設定を
弄っていない限りはキャッシュされています。
(通信が発生するのは、サーブレット/JSP/HTML等のページ部分のみ)
ですので「戻る」などでキャッシュを使われた場合は、ページに対してリクエストが飛んできません。
サーバサイドで、「キャッシュが残っていたら~をする」といった処理そのものがありえないと思います。
(リクエストが飛んでくるのはキャッシュが無くなったか有効期限が切れたと考えられるから)
デバッガでブレイクポイントを設定するか、イーサリアル等で調査すれば分かります。
▼ナビゲートボタンについて
「戻る」「進む」などはブラウザが自身の"history"を見ているに過ぎず、
"cache"有無に関係なく"history"があるなら実行可能です。
キャッシュコンテンツがあればそれを使い、無ければリクエストを出します。
このあたりは実際試してみて問題があるかどうか調べてください。
(普通は"cookie"を無効にでもされない限り、ログイン等で行ったセッション維持は可能)
▼対策
どーしても破棄したいのであれば、Windows限定ですが
キャッシュを削除するクライアントアプリを作り、ユーザPCにインストールし、
ログインページでActiveXを用いてサーブレットからアプリを起動するといったぐらいでしょうか…。
お力になれず申し訳ないです。
失礼します。
どうもありがとうございました。
何パターンかやってみましたが、「戻る」は使えませんでした。
確かに、無理そうですね……
サーバー側からローカルのファイルをどうこうしようというのは、セキュリティの面からいっても難しそうですし。
大変参考になりました。ありがとうございました。
No.1
- 回答日時:
サーブレット/JSP(共通)で次のメソッドを実行してあげればokなハズです。
HttpServletResponse#setDateHeader("Expires", -1);
HttpServletResponse#setHeader("progma", "no-cache");
HttpServletResponse#setHeader("Cache-Control", "no-cache");
さらに保険をかけて出力するHTMLに以下のタグを含めても良いかもしれません。
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Sat, 01 Jan 2000 00:00:00 GMT">
HTMLのの"Expires"は適当に古い時間を指定してください。
この回答への補足
ご回答ありがとうございます。
こちらの勉強不足かもしれませんが、これはキャッシュを残らないようにするものではありませんか?
戻るボタンは使えるようにしたいのです。
例えば、システムにログインを行った時にブラウザのキャッシュを破棄し、それ以降はキャッシュを使用して戻るボタンも使えるという感じです。
説明不足だったかもしれません。すいません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS Chrome のキャッシュについて 3 2022/05/26 07:50
- その他(ブラウザ) angel ブラウザってなぜアプリのクラッシュやフリーズが多いのでしょうか?? 特定のサイトにこのブ 3 2023/02/06 20:17
- その他(ブラウザ) 誰か助けてください。 地球ブラウザアプリのキャッシュ削除しても強制終了してもクラッシュが直りませんで 1 2023/02/08 19:39
- HTML・CSS 分数が正常に表示されない。 6 2022/05/09 18:53
- YouTube 自宅以外のPCで時々YouTubeを見るんですが、 2 2022/12/07 13:46
- その他(セキュリティ) 一度、閲覧しただけで、数ヶ月も同じ広告が表示されるのは違法じゃないの? 2 2022/09/27 10:07
- X(旧Twitter) Twitterでtweet・いいねができなくなりました。 2 2023/07/02 20:06
- ノートパソコン Windows 10 動作改善方法 6 2023/04/26 22:30
- その他(動画サービス) GoogleのブラウザでAbema開くと画面に白い四角いのがチラチラ出てきて、下にスクロールしても出 1 2022/04/22 20:53
- 電子マネー・電子決済 楽天キャッシュのオートチャージについて教えてください 1 2023/05/20 10:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
history.backで戻ったページを...
-
ビットマップ(bmp)形式で背景...
-
上司から10メガバイトの画像...
-
編集が出来ません(JPEGフ...
-
FC2ブログで、画像の画面中...
-
<td>中の文字列に<p>は必要?
-
「ペイント」で.JPG保存ができない
-
早く答えてください。
-
初心者です、ブログ内のリンク...
-
YYMMDD
-
スクリーンショットをjpgやbmp...
-
アイコンとバナーの違いについて
-
tiffファイルをトリミングして...
-
たびたびすみません。すごく困...
-
【HTMLタグ】画像を横に連...
-
アメブロの画像挿入について
-
.pngファイルをペイントで開く...
-
HTMLとCSS アメブロ
-
ブログの下書きが突然消えた
-
画像のペイントについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーブレット/JSPでブラウザの...
-
キャッシュは手動で更新しない...
-
history.backで戻ったページを...
-
JSPでjava記述とhtml記述両方で...
-
ホームページにあるカレンダー...
-
404エラーについて
-
ホームページビルダーで作られ...
-
検索エンジンのキャッシュがな...
-
googleでの検索結果
-
Dreamweaverのテンプレートの更...
-
メタタグ、Google検索エンジン...
-
ビットマップ(bmp)形式で背景...
-
FC2ブログで、画像の画面中...
-
編集が出来ません(JPEGフ...
-
<td>中の文字列に<p>は必要?
-
HTML 表の上に文字がきてしま...
-
アイコンとバナーの違いについて
-
画像のペイントについて
-
tiffファイルをトリミングして...
-
上司から10メガバイトの画像...
おすすめ情報