
現在、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も見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
今の日本に期待することはなんですか?
目まぐるしく、日本も世界も状況が変わる中、あなたが今の日本に期待することはなんですか?
-
洋服何着持ってますか?
洋服を減らそうと思っているのですが、何着くらいが相場なのかわかりません。
-
泣きながら食べたご飯の思い出
泣きながら食べたご飯の思い出を教えてください。
-
StrutsでJSPからListを受け取りたい
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サーブレット/JSPでブラウザの...
-
ホームページビルダーで作られ...
-
ビットマップ(bmp)形式で背景...
-
編集が出来ません(JPEGフ...
-
HTML 表の上に文字がきてしま...
-
<td>中の文字列に<p>は必要?
-
縮小専用ソフトをダウンロード...
-
アイコンとバナーの違いについて
-
「ペイント」で.JPG保存ができない
-
Inkscapeでインポート...
-
FC2ブログの記事内に動画ファイ...
-
wordpress event organiser の...
-
Wordpress の編集時の文字サイ...
-
ブログの下書きが突然消えた
-
拡張子 pcx
-
デジカメで撮った集合写真に写...
-
直接リンクと間接リンクの違い
-
スクリーンショットをjpgやbmp...
-
jw_cadをInkscapeで…
-
写真に説明文を入れペイントで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーブレット/JSPでブラウザの...
-
history.backで戻ったページを...
-
ホームページビルダーで作られ...
-
キャッシュは手動で更新しない...
-
JSPでjava記述とhtml記述両方で...
-
最初に一回だけリロード
-
ビットマップ(bmp)形式で背景...
-
編集が出来ません(JPEGフ...
-
<td>中の文字列に<p>は必要?
-
HTML 表の上に文字がきてしま...
-
画像のペイントについて
-
アイコンとバナーの違いについて
-
画像の背景の透明部分だけを広...
-
YYMMDD
-
上司から10メガバイトの画像...
-
Wordpress の編集時の文字サイ...
-
FC2ブログで、画像の画面中...
-
tiffファイルをトリミングして...
-
デジカメで撮った集合写真に写...
-
jw_cadをInkscapeで…
おすすめ情報