[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cache
cache 周辺を,以下のロジックで動くように adhoc に修正しました.
>> On Thu, 29 Jan 2004 13:03:29 +0900
>> 「土」== tsuchiya@pine.kuee.kyoto-u.ac.jp (TSUCHIYA Masatoshi) said as follows:
土> (1) 問答無用に cache してしまう.
土> (2) w3m-view-previous-page / w3m-view-next-page などでヒストリ上を
土> 移動する場合,および,w3m-view-source / w3m-view-header などの
土> 同一コンテンツ内の移動は,cache を信用する.
それから,about://history/ および about://db-history/ からの移動の場合
も cache を信用します.
土> (3) w3m-view-this-url などで移動する場合は cache validator を呼び
土> 出す.正式の cache validator は大変だから当面は以下の検査で代
土> 替する.
この点については,[emacs-w3m:06420] での
>> On Fri, 30 Jan 2004 16:40:33 +0900
>> 「土」== tsuchiya@pine.kuee.kyoto-u.ac.jp (TSUCHIYA Masatoshi) said as follows:
土> というわけで,reload 時にはヒストリに記憶されている値を無視した方
土> が良いのではないかと思うのですが,どうでしょうか?
土> ただ,reload しないと駄目と言うのは,現行の cache システムの問題で
土> しょうね.Last-Modified とか ETag の情報が存在しない場合は,cache
土> しないことにしないといけないのかなあ.
という知見に基づいて,
(a) Last-Modified: または ETag: がヘッダに含まれていない cache は信
用しない.
(b) たとえ,これらのヘッダが含まれていても,Pragma: no-cache などの
ヘッダによって明示的に無効化されていたら信用しない.
という判断を行います.検証手順の詳細については w3m-cache-available-p()
を参照してください.
この修正の結果,
土> ただ,PukiWiki の編集でのトラブルは cache 周りだけの問題ではない可能性
土> もあります.例えば,私の近所で WiLiKi を使っているのですが,
土> あるページを編集してテキストを追加
土> -> コミット
土> -> 成功
土> -> 同じページを編集しようとしたら,さっき追加したテキストがない
土> -> もう一度編集してコミット
土> -> 更新の衝突
土> という現象が起きています.
という現象は解決しました.
なお,cache を常に信用する従来の動作の方が都合が良い人は,
(setq w3m-prefer-cache t)
という指定を ~/.emacs-w3m に書いてください.
全体的に cache をあまり信用しないようになったので,安全にはなったので
すが,要らないところで reload してしまうようになった気もします.もう少
し,cache を有効に使う方法はないでしょうか?
--
土屋 雅稔 ( TSUCHIYA Masatoshi )