最近、PerlでのCGI作成の仕事を行っています。
IE と Firefox で動作確認をしているのですが、どうも Firefox の 戻る・進む ボタンでの動きがおかしいのです。
ネットで検索すると、どうやらいわゆるブラウザキャッシュとは別に、履歴のキャッシュを行っているらしいことがわかりました。
高速に 戻る・進む を実行するためらしいです。
が、ログアウトした後に、前画面のキャッシュを表示されるとまずいんじゃないでしょうか?
ログアウトした後に、戻るボタンでログアウト前の画面が表示されてしまいます。
更新を行うと、ちゃんとログインチェックを行い、ログイン画面へ戻ります。
キャッシュを無効化するHTTPのヘッダーが無視されています。
本当に困っています。
結局、「ブラウザの仕様です」と言うしか無いんでしょうか…
※ 2007/01/30 20:50 追記
PHP のヘッダーを参考に対応できました。以下のヘッダーを出力します。
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-chache
no-store がミソのようです。
どうも。以前FCKeditorエキスパートを購入したものです。
大変役に立ってます。ありがとうございます。
私はPerlよくわからないので参考にならないと思いますが
私のページは自作CMS(MTの真似)で、PHP+MySQLで構築しました。
(半年くらいかかりましたが…http://artsnet.jp/)
ここでログインして自分のサイトを更新する際にFCKeditor使ってます。
で、この記事見て試してみましたが私のサイトはログアウト後
戻っても問題ありませんでした。ただMojaviっていうフレームワークが
Auth関係やってるので内部的に詳しく知らないのですが
PHPならPHP.iniでsession.cache_limiter = nocacheなら
FireFoxでもいけるんじゃないでしょうか?
どうしてもPerlの開発で既に設計上ムリなら参考にならないと思いますが。。。
コメントありがとうございます。
PHPの出力するヘッダーを参考にして解決できました。
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-chache
で、良いようです。テスト時は”no-store”が抜けていました。
Perl は汎用言語なので、Web開発はやっぱり PHP が楽ですね。
おお、そういうことなんですね。
私の場合いろいろフレームワークやらライブラリ使って解決して
根本的な理解に欠けてるようなので勉強になりました。
逆にありがとうございます。