[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cache
>> On Thu, 29 Jan 2004 12:39:42 +0900 (JST)
>> 「白井」== shirai@meadowy.org (Hideyuki SHIRAI (白井秀行)) said as follows:
>RFC2616 で規定されている cache validation をきちんと実装するのが筋だ
>とは思います.ただ,それには暇が足りないので,とりあえず当面の処置と
>して,天海さんのパッチを改変して適用しました.
白井> これなんですが、ぼくの場合は弊害の方が大きいので、問答無用で
白井> cache するオプションを増設して良いですか?とりあえず、パッチを文
白井> 末につけます。
白井> また、
>>pukiwiki 編集は, [編集] ボタンをおすと編集画面を GET してきて, フォー
>>ムを編集して, [更新] ボタンで POST します. 同じページを再び編集して,
>>[更新] すると, pukiwiki に「更新の衝突」が発生したと怒られます.
白井> これが体験出来て、sandbox がついている Wiki ページをご存じでした
白井> ら教えてください。問答無用で cache しても post するときになんと
白井> かならないかなぁと思っています。
実は,私もそう思い始めてます.
(1) 問答無用に cache してしまう.
(2) w3m-view-previous-page / w3m-view-next-page などでヒストリ上を移
動する場合,および,w3m-view-source / w3m-view-header などの同一
コンテンツ内の移動は,cache を信用する.
(3) w3m-view-this-url などで移動する場合は cache validator を呼び出
す.正式の cache validator は大変だから当面は以下の検査で代替す
る.
a) GET メソッドについては
pragma: no-cache / cache-control: max-age=0 のみを調べる.
b) POST メソッドについては無条件に cache を信用しない[*].
と言うのでかなり救えるのではないかなあ,とぼんやり考えていました.
ただ,PukiWiki の編集でのトラブルは cache 周りだけの問題ではない可能性
もあります.例えば,私の近所で WiLiKi を使っているのですが,
あるページを編集してテキストを追加
-> コミット
-> 成功
-> 同じページを編集しようとしたら,さっき追加したテキストがない
-> もう一度編集してコミット
-> 更新の衝突
という現象が起きています.
開発元のページ http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi
に SandBox が用意されているので,確認できると思います.で,これは form
の値を覚えているヒストリ周りも悪さをしているのでは? と疑っています.
[*] 根拠は RFC2616 の以下の部分.
9.5 POST
The POST method is used to request that the origin server accept the
entity enclosed in the request as a new subordinate of the resource
identified by the Request-URI in the Request-Line.
<snip>
Responses to this method are not cacheable, unless the response
includes appropriate Cache-Control or Expires header fields. However,
the 303 (See Other) response can be used to direct the user agent to
retrieve a cacheable resource.
--
土屋 雅稔 ( TSUCHIYA Masatoshi )