* cookie (HTTP)
[5] [[RFC 2965]] によれば、
[CODE(HTTP)[[[Cookie2]]]] 欄などで使われる
[CODE(ABNF)[cookie]] の構文は
>
- [CODE(ABNF)[[DFN[cookie]] = NAME "=" VALUE *(";" set-cookie-av)]]
- [CODE(ABNF)[[DFN[NAME]] = attr]]
- [CODE(ABNF)[[DFN[VALUE]] = value]]
です。 ([CODE(ABNF)[set-cookie-av]] は cookie 属性。)
生成字句間には[[空白]]が入れられます。
[9]
www.myspace.com
([[Mr.Anonymous]] [WEAK[2006-04-02 22:34:43 +00:00]])
[13]
hello world
hello world http://helloworld.com hello world
[url=http://helloworld.com ]hello world[/url]
([[hello world]] [http://helloworld.com] [WEAK[2008-03-17 05:20:31 +00:00]])
[[#comment]]
* HTMLDocument.cookie (DOM 0+ HTML)
[1] [[DOM]] 0+ の属性 [DFN[[CODE[[VAR(DOMi)[[[HTMLDocument]]]].[CODE(DOMa)[cookie]]]]]]
は、当該[[文書]]・[[枠]]に関連付けられた持続状態情報
([[Cookie]]) を扱うための属性です。
属性値の型は [CODE(DOM)[[[DOMString]]]] です。
DOM 1 FE ではこの属性は読取専用でした。
DOM 1 は意味的な点には触れていません。
DOM 2 は [[RFC 2965]] を参照しています。
DOM 2 仕様書は UA のセッションについての正確な動作は規定しないと言っています。
仕様書:
- [DOM 1 FE]
- [DOM 1 SE]
- [DOM 2]
実装仕様書:
- [MS]
-- [7]
-- [8] ''cookie Property (document) (Internet Explorer)''
>>7 は大して参考になりません。 >>8 は比較的参考になります。
[2] この属性を読むと得られる値は、
cookie の名前と値の組の群を [CODE[;]]
で連結して一つの文字列にしたものです。
Cookie が一つもないときには、空文字列となります。
と DOM 1,2 仕様書に書いてあるのですが、
こんな説明で本当にいいのでしょうか。
これだけを読んで実装できる人なんているはずがない。
一応、 DOM 1 には更に [SAMP[name=value;expires=date]]
という例が載っています。
[3] DOM 1 FE ではこの属性は読取専用ですが、
DOM 0 と DOM 2+ では書込むこともできます。
DOM 1 SE では読取専用ではなくなっていますが、
説明は DOM 1 SE とほとんど同じで、書くときの構文の説明がありません。
この属性に書くときの値は、
RFC 2965 の [CODE(ABNF)[cookie]] (>>5) とするべき (should) です。
Cookie 名が既に使用されていれば、
新しい値と cookie 属性に置きかえられます。
Cookie 属性の既定値:
:[CODE(HTTP)[[[domain]]]]:現在の文書/枠の[[絶対URI]]
の [CODE(ABNF)[[[host]]]]。
:[CODE(HTTP)[[[path]]]]:現在の文書/枠の絶対 URI
の絶対 [[path]] 部分。
:[CODE(HTTP)[[[max-age]]]]:UA の既定値。
[CODE(HTTP)[max-age]] が [CODE(HTTP)[0]] なら、
当該名の cookie は削除します。
[4] >>3 で構文が不適切だと、 [CODE(DOM)[[[DOMException]]]]
[CODE(DOM)[[[SYNTAX_ERROR]]]] が発生します。
[6]
[[MathML]] や [[SVG]] も [CODE(DOMi)[HTMLDocument]] に相当する [CODE(DOMi)[[[MathMLDocument]]]] や [CODE(DOMi)[[[SVGDocument]]]] を持っているのですが、そいつらは [CODE(DOMa)[cookie]] 属性は持っていないようです。
[[#comment]]
* メモ
[10]
[CITE[Repository - markup - w3: w3/lisp/w3-parse.el]] ([CODE[2007-01-08 19:07:25 +09:00]] 版)
([[名無しさん]])
[11]
[PRE(HTML example code)[
]PRE]
;; ([CODE[1997-03-02 12:44:03 +09:00]] 版)
([[名無しさん]])
[12]
[CITE[Member w3/w3-draw.el of archive w3-2.2.26.tar.gz]] ([CODE[2007-01-08 20:04:19 +09:00]] 版)
([[名無しさん]])