Hi,
Gute Frage. RFC2965 sagt, das der Cookie-Wert ein quoted-string nach RFC2616 ist.
RFC 2109 ist wohl der entscheidende, was aber nichts ausmacht, da die beiden sich in dieser Hinsicht nicht unterscheiden, soweit ich die Sache überblicke.
Das lese ich als "schreib rein, was Du willst".
Ja, sofern der Wert gequotet ist, was nach meiner Erfahrung eher selten passiert. Laut den genannten RFCs ist der Wert "token | quoted-string", also bleibt "token" übrig:
token = 1*<any CHAR except CTLs or tspecials>
CHAR = <any US-ASCII character (octets 0 - 127)>
CTL = <any US-ASCII control character (octets 0 - 31) and DEL (127)>
tspecials = "(" | ")" | "<" | ">" | "@"
| "," | ";" | ":" | "" | <">
| "/" | "[" | "]" | "?" | "="
| "{" | "}" | SP | HT
SP = <US-ASCII SP, space (32)>
HT = <US-ASCII HT, horizontal-tab (9)>
(RFC 2068, 2.2)
Bleibt also effektiv jedes Zeichen von 33 bis 126, außer "()<>@,;:/[]?={}" und Doublequotes. Somit ist es nötig, beispielsweise Leerzeichen zu kodieren. Der RFC sieht offensichtlich keine Kodierung vor (außer bei quoted-string) - URL-Kodierung hat sich als sinnvoll erwiesen und eingebürgert. Ehrlich gesagt kann ich mich an kein System erinnern, mit dem ich jemals Cookies gesetzt hätte, bei dem nicht auf URL-Kodierung gesetzt wurde, auch wenn ich zugeben muss, dass mein Gedächtnis bei Dingen, die ein Jahrzehnt zurück liegen, etwas getrübt sein mag ...
Cheatah
X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes