- - PR -
Netscape7.0でのJSPキャッシュ無効について
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2002-10-21 09:49
現在、jspとservletを使用してweb開発を行っております。
入力フォームのある、jspページにて下記コードを記述して、キャッシュOFFを 行っておりますが、NetScape7.0を使用するとキャッシュOFF機能がうまく働きません。 response.setHeader( "Pragma","no-cache" ); response.setHeader( "Cache-Control","no-cache" ); response.setDateHeader( "Expires", 0 ); <現象> 1.入力フォームでテキストなどを入力。 (キャッシュOFFにして、常にクラスから値を取得します。) 2.サーブレットにpostしてクラスに値を格納して、次ページを表示。 3.「戻る」ボタンをクリックにて、前画面に戻る。 4.キャッシュOFFのため、クラスの情報を読み出すはずが、入力フォームのみ 初期値(1.を表示した状態)に戻り、クラスから情報を取得していません。 5.「再読込み」ボタンをクリックすると、クラスから値を読み出す。 という、状態になっています。 ちなみにIE5.5,6.0、NS4.5,6.0では正常に動作します。 どなたかご教授くださいませ。 情報不足などありましら、ご指摘ください。 |
|
投稿日時: 2002-10-21 10:34
いろいろ調べていましたが、どうやら正常に動作するページと
動作しないページがありました。 (ただし、IEなどを使用する場合は、すべて正常。) ですので、もうしばらく調査いたします。 現象がわかりましたら、ご連絡したいと思います。 |
|
投稿日時: 2002-10-22 09:14
すみません。また、自己レスです。
調べた結果、どうやら非SSLでNetscape7.0を使用すると上記なような現象が 発生します。 まとめると、 1.キャッシュOFFでテキスト入力などのできるフォームを表示。 (この時、あるクラスから初期値を取得する。) 2.テキストを入力して、データをサーブレットに送信。 3.サーブレットでクラスに値を書き込んで、次画面を表示。 4.戻るボタンクリックにて「1.」画面へ戻る。 5.「1.」画面はキャッシュOFFのため、再びクラスから値を呼び出す はずが、テキスト欄が空白となりクラスから情報を読み出さない。 (再読込みすると表示します。) となります。 ですので、Netscape7.0でキャッシュOFFする場合は、 注意が必要だと思います。 |
|
投稿日時: 2002-10-23 02:29
Mozilla-1.1 でも同様でしたので、バグかと思い、bugzilla.mozilla.org に投げてみたところ、
「no-cache は session history には影響を与えないと RFC に明記してある。no-store 使え」 とのこと。 http://bugzilla.mozilla.org/show_bug.cgi?id=176014 <% response.setDateHeader("Date", System.currentTimeMillis()); %><% %><% response.setDateHeader("Expires", 0); %><% %><% response.setHeader("Pragma", "no-cache"); %><% %><% response.setHeader("Cache-Control", "no-cache"); %><% %><% response.addHeader("Cache-Control", "no-store"); %><% %><% response.addHeader("Cache-Control", "max-age=0"); %><% %><%@page contentType="text/html" %><%@page import="java.util.*" %> <html> <body> <%= new Date() %><br> <form action="expire2.jsp"><input type=submit></form> </body> </html> ならうまくいくでしょう。 [ メッセージ編集済み 編集者: しょむ 編集日時 2002-10-23 02:30 ] |
|
投稿日時: 2002-10-23 10:10
しょむさんのおっしゃる通りに設定したら、正しく動作しました。
ありがとうございました。 でも、どうしてNetscape7.0はダメになったんでしょうね。 Netscape4.Xとか6.Xでは動作していたんですけどね... |
|
投稿日時: 2002-10-23 10:29
厳密に規格に従うようになったからでしょう。
# もしくは、RFC のほうが update されたのかもしれませんが。 |
1
