And Clover <a...@doxdesk.com> added the comment:

The various attempts by RFCs to codify HTTP cookies are useless and bear no 
resemblance to what browsers actually do.

In the real world, every byte in the range 0x20-0x7E is allowed, except for the 
semicolon, the equals (in names), and in Opera, in some places, the 
double-quote. Many browsers even allow most of the control codes! The question 
of non-ASCII Unicode characters is tricky, but none of them cause a token break.

Contrary to RFC2109 and its successors, no browser takes any notice of 
quoted-string cookies or backslash-escaping, so the effort Cookie.py puts into 
producing an encoded string and 'parsing' input cookies is completely wasted. 
It should do what everyone else does: split on semicolon, left-strip the 
whitespace, split each cookie on first equals.

(In reality cookie names and values have no inherent encoding scheme, so if you 
want to include out-of-band characters like semicolon, control characters or 
non-ASCII characters you have to use an ad-hoc encoding scheme, often 
URL-encoding.)

----------
nosy: +aclover

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue2193>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to