[4] Set-Cookie:
頭欄、
Set-Cookie2:
頭欄の Max-Age
属性は、
発行する Cookie の寿命を指定します >>7, >>8。
[19] Max-Age
属性はクッキーの最大寿命を、
クッキーの期限切れまでの秒数として表します。 >>18
[20] 利用者エージェントはこの秒数が経過するとクッキーを破棄し、 鯖に送信しなくなります。ただし利用者エージェントは必ずしもこの秒数が経過するまでクッキーを保存しなければならないわけではありません >>18。
[23] Max-Age
属性も Expires
属性も指定されていなければ、
クッキーは現在のセッションが終了するまで保持されます。
[9] 値は delta-seconds
で、寿命の秒数を正整数で表します
>>7, >>8。
[26] 属性値が1文字以上のASCII数字の列かその前に -
がついた文字列でなければ、属性を無視しなければなりません。
そうでない場合には属性値を整数と解釈し、0 以下なら表現できる最小の日時、
正数ならそれを秒数として現在日時に加えた値と解釈しなければなりません。
>>25
[10] Cookie の齢は (Cache-Control
の max-age
と同じ)
齢計算規則に従って計算します >>8。その結果齢が delta-seconds
で指定された秒数よりも大きければ、その Cookie は破棄するべきです
>>7, >>8。
[13] Max-Age
属性が省略された場合、
その Cookie は利用者エージェントが終了したときに捨てられます >>14, >>15。
[12] Netscape Cookie には含まれていなかった Max-Age
属性ですが、
一部の利用者エージェントや鯖側ライブラリーは RFC 2109
に従い実装しているようです。
[21] Max-Age
属性は RFC 6265 により公式にも
Netscape 由来の Set-Cookie
仕様の一部となりましたが、
それでも過去の利用者エージェントの中には Max-Age
属性に対応していないものがあります。 Max-Age
属性に対応していない利用者エージェントはこれを無視します >>18。
[11] Netscape Cookie では Expires
属性がありましたが、
IETF 独自の Cookie では代わりに Max-Age
属性が提供されています。
[22] RFC 6265 の新しい Cookie 仕様ではこの両方が定義されています。
両方が指定されている場合は Max-Age
属性が優先されます
>>18。
[1] [ruby-list:35933] Re: Tofu の有効期限について ( 版) http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/35933
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と試しまくってみ たのですが、概ねペケです。
このあたりまで対応していないとなると、あまり実用にはならないかもしれま せんね。
[2] 2008年3月 - Blog - EOF (Taku Watabe 著, 版) http://end-of-file.net/blog/2008-03.html#date-2008-03-18
IE は6と7、Safari は Mac 版 2.0.4 と 3.0.4 で確認。Firefox 2.0.0.12、Opera 9.26 は利用可能。
[3] KDDI au: そのほかの技術情報 > Cookie ( 版) http://www.au.kddi.com/ezfactory/tec/spec/cookie.html
- デフォルトの有効期限
- 「max age」の有効期限の指定がないない場合、そのCookieの有効期限はデフォルトで「1日 (24時間) 」となります。
- 有効期限の指定方法
- Cookieの有効期限はHTTPレスポンスヘッダの「Set-Cookie」フィールドの「max age (有効残存秒数) 」で指定することができます。
Expires
が使えるという記述はない。[24] Cookieのexpireの扱いがブラウザによってちょっと異なる件 - mikanmarusanのブログ ( ( 版)) http://mikanmarusan.hatenablog.com/entry/20110131/1296489272
[30] WebDriver Add Cookie では
expiry
を指定できます。
ChromeDriver では指定が反映されますが、
GeckoDriver は指定時点で過去の値を指定して削除することができるものの、
将来の値を指定してもその時刻を過ぎても削除されません。
[31] Limit timeout and cookie expiry time values to the maximum safe integer (carlosgcampos著, ) https://github.com/w3c/webdriver/commit/960f5e239b5d06095a3b51fa1213a99180c1544f
[32] Integer values in timeouts and cookie expiry time · Issue #1202 · w3c/webdriver () https://github.com/w3c/webdriver/issues/1202
[33] Limit timeout and cookie expiry time values to the maximum safe integer by carlosgcampos · Pull Request #1210 · w3c/webdriver () https://github.com/w3c/webdriver/pull/1210
[34] Standardize maximum Expires/Max-Age by arichiv · Pull Request #1732 · httpwg/http-extensions · GitHub, https://github.com/httpwg/http-extensions/pull/1732