[PHP-users 3065] Re: phpでのキャッシュの有効期限について
hasegawa
php-users@php.gr.jp
Wed, 24 Oct 2001 11:41:25 +0900
長谷川です。
大垣さん、詳しく説明頂き感謝しております。
基本から理解する情報まで頂きありがとうございます。
> > ■現象説明
> >
> > ラジオボタン、プルダウンメニューが入ったページを作成している
> > がform画面のプルダウンなどの色々な値を変更させてリサイズ
> > キャッシュの制御に<META>タグの設定は行なわず、ブラウザのデフ
> > ォルト(セッション毎)で確認
>
>
> 私も、METAで色々設定するのはちょっと難ありと思います。本来のHTTP
> Headerで調整すべき事なので。(両方使ったりしていますが、、)
この使い分けはやってませんでした。
知識不足で、METAの調整で対応してました。
HTTP Headerを調整してみます。
> >
> > ●Netscape4.75の現象
> > ・変更させた値が、全て初期の状態に戻る。
> > ・「ページ情報の表示」の有効期限:11/19/81 17:52:00と過去
> > ●InternetExplorer5.0では
> > ・ 問題なく、選択状態のまま表示される。
> > ・「ページ情報の表示」の有効期限:「日付けなし」
> >
> > 上記は、PHPでHTMLを出力しないで、htmlファイルとして読みこんだ
> > 場合には、有効期限が「日付なし」になり、リサイズしても変更させた
> > 値を覚えている。
>
>
> PHP4 Sessionを利用している前提で返信します。
> session.cのソース(4.1.0RC CVS)ですが、以下の部分でヘッダーを生成し
> ています。public以外の場合は過去の日付のExpiresヘッダーを送信します。
>
> # この手の問題はヘッダーも簡単にみれる、wget, curl等を利用
> # した方が簡単です。
wget -s http://hogehoge/test_main.php
でヘッダ状態を確認できました。
ヘッダの状態を色々試しながら確認してみたく思います。
> >
> > ■質問事項
> >
> > ・PHPで作成したページをhtml形式のように有効期限「日付なし」にする事
> > 可能でしょうか?
>
>
> 「日付なし」にできないか?と言うことでしょうか? (NN 4.7のページ情報
> ですよね?) Expiresヘッダーを送らなければ、日付無しになると思います。
はい。NN 4.7のページ情報です。
試してみます。
> Expiresヘッダーの問題であれば、session_cache_limitter()を読んだ後
> に、Expiresヘッダーを送り直せば、新しいExpiresヘッダーのみ送ってく
> れます。
>
> Expiresヘッダーを完全に消すためにはcache limitterに"none"等の無効
> な値をいれておくとヘッダーを送りません。cache limitterも使う場合
> は、session_cache_limitter()を読んだ後、各ヘッダーを上書きするとよ
> いです。
>
> # sessionモジュールでヘッダーを送ったかどうか状態を管理
> # しているので、cache limtterが呼ばれてから、ヘッダーを
> # 変更しないと上書きされます。
>
> RFC2616(とHTTP1.0等の古いRFCも)を読んでみてはどうでしょうか?
なるほど、わかりました。
RFCについても読んでみます。
> > ・または、HTMLのようにリサイズしても変更した値を覚えているようにする
> > 事は可能でしょうか?
>
>
> JavaScriptでリロードした場合は普通の状態ではフォームのデータは消え
> てしまいます。リサイズしてフォームデータがリセットされるのはブラウ
> ザがリロードしているのでは無いか、と推測します。(古いNNにはリサイ
> ズ時の問題があったので、対 処策?)
>
> 持ち回すことは可能です。データ量が少ないようであれば、Query String
> でデータを持ち回すとクライアントのみで完結します。サーバーに
> POST/GETでフォームのデータを送って、再表示と言う方法の方が無難かも
> しれません。
上記の確認後、検討します。
ありがとうございます。