[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: antenna ト ラブル



>> On Fri, 17 Sep 2004 12:25:10 +0900 (JST)
>> 「白井」== shirai@meadowy.org (Hideyuki SHIRAI (白井秀行)) said as follows:

白井> 現在、antenna は

白井> (1) HEAD で取得した last-modified でそのページの更新時間を取得。
白井> (2) 実際にそのページを訪れたときの last-modified を覚えておいて
白井>     (1) と比較して既読/未読の判断をする。

白井> となっていますが、

白井> (3) 実際にそのページを訪れたときの時間と (1) とを比較して既読/未
白井>     読の判断をする。

白井> の方が良いと思うので、変更しました。

土> この方法は,サーバ側とクライアント側の時刻が一致していない場合には
土> うまく動かないのではないでしょうか.

白井> それはそうだけど、

白井> ・自分の時計が狂っている => 直す
白井> ・相手の時計が狂っている => antenna の対象としているサイトにそん
白井>                             な奴はいない(?)

白井> と思うし、数秒〜数分(数十分?数時間?)の狂いなら (3)-(1) の時間
白井> 差に含まれちゃいますよね。

これは本当かなあ.タイムゾーンの設定が狂っているサーバとか,結構ありそ
うな気がするんですけど(あくまで直感的な話ですが).

それと,原理的には (2)-(1) でも検出できる筈なのに,(3)-(1) に変えなけ
ればいけない必然性が良く分かりません.(2)-(1) の時間差は,相手サーバの
提供する時間情報のみに基づいて計算することができ,しかも相手サーバの時
計がたとえ狂っていても求めることができます.それに対して,(3)-(1) の時
間差を求めるには,相手サーバの時間情報と自分のマシンの時間情報の双方を
必要とする上に,双方が正しく同期していなければなりません.このように考
えると,(2)-(1) の時間差の方が,(3)-(1) よりも安全に求めることができる
はずなのではないかと思うのですが.

白井> 今回の場合は、『いつも、(2) の時間より (1) の時間の方が 1秒進ん
白井> でいる』ので、何回読んでも既読にならない。という話でした。

いやその,白井さんの日記は私の antenna にも入っているので,「既読にな
らないなあ,なんでだろ」とは私も思っていたんですけどね.

それで原因なんですが,

ko> HEAD リクエストのときは CGI を実行しないで
ko> http://ko.meadowy.net/~shirai/diary/antenna.lirs を見にいくように
ko> しています。antenna.lirs は pluginが生成しているから更新処理が終わっ
ko> てから動くので1秒遅れるのかも。変えたほうがいいかしら。

あーなるほど.GET リクエストと HEAD リクエストで提供される時間情報が異
なる,と言うことですか.(1) は HEAD リクエストで得た時間情報だけれど,
(2) は GET リクエストで得た時間情報だから,影響を受けるんですね….

うーん,しかしこれは,サーバ側の問題のような気がしてくるのですけど.解
決策としては,

  (a) HEAD リクエストの代わりに GET リクエストで時間情報を求めるオプショ
      ンを追加する
  (b) サーバ側でも修正してもらう

というのでどうでしょうか.

土> それから,プロキシやキャッシュ機構のコンテンツを閲覧して,最新版を
土> 読み損ねていることに気付かない場合を気にしてたんだと思います.

白井> プロキシを通していても HEAD の last-modified はサイトが出したも
白井> のを使うと思うし、プロキシのキャッシュはプロキシ自体がよきにはか
白井> らってくれるから大丈夫なのではないかと思っていますが、どんなもの
白井> でしょう。

こちらは同意.

今回の改変の影響を受けたのかは分かりませんが,こちらでは別のページ[*] 
が既読に変わらなくなってしまいました….正確に言うと,チェックして見に
行くと一旦は既読に変わるのですが,再起動するとまた未読に戻る.なんでか
なあ….

[*] http://www.nn.iij4u.or.jp/~tutimura/tex/xdvi.html

あと,antenna については,

  ・取得エラーが発生したページが,なにも警告されずにファイルサイズが変
    わった未読ページ扱いになるのはなんとかならないかな.
  ・検査した時間を何処かに表示するようにしたいな.

という懸案があります.

;; ここのところ私も大変に忙しいので,わずかな時間の現実逃避で解決でき
;; ない問題はどんどん後回しになってます….すみません.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )