On Fri, Sep 13, 2002 at 08:02:02AM +0900,
 m_seki / mva.biglobe.ne.jp wrote:

> IRCで教えてもらったのですが、クッキーのmax-ageを使えば
> ローカルの時計の秒数で指定できるようです。
> 
> max-ageの方がexpiresより使い勝手が良さそうですよね。
> # max-ageにはなにか問題があるのかな。あんまり対応されてないとか!??

とりあえず、cgi.rb が対応していないのは、実績のある Perl の CGI.pm が
対応していないから、というだけだったりしますが、では CGI.pm が対応して
いない理由は、というと、対応していないブラウザが多いから、という事のよ
うです。

Cookie は元々 Netscape の独自拡張で、その仕様では max-age は無く、
expires でした。

http://wp.netscape.com/newsref/std/cookie_spec.html

ところが RFC では期限を日付指定する expires は採用されず、発行後の秒数
で指定する max-age となったようです。日付については ruby-ML でも何度も
話題になっているように、扱いが難しい面があるからなのでしょうね。

ですが、日付指定したいという場合が多いのか、すでに expires が浸透して
しまったからか、max-age の対応は進まず、expires が使われ続けている、と
いう感じのようです。

> ruby-1.6.7のCGI::Cookieではmax-ageは扱ってないようですが、
> 扱う予定はあるでしょうか?

最新の CGI.pm も開発版の CGI.pm もまだ対応する様子が無いのですが、
まあ、RFC にある事ですから、扱えるようにしたいと思います。しかし、
ちょっと検索してみると、

http://www.m-fr.net/etc/cookie.html
> 少なくとも、WindowsでIEの5.5、NNの4.76、6.02、Operaと試しまくってみ
> たのですが、概ねペケです。

このあたりまで対応していないとなると、あまり実用にはならないかもしれま
せんね。


-- 
青山 和光 Wakou Aoyama  <wakou / ruby-lang.org>