On Nov 22, 2007 9:30 AM, Edi Weitz edi@agharta.de wrote:
Hi,
On Tue, 20 Nov 2007 09:31:01 -0500, "Kyle R. Burton" kyle.burton@gmail.com wrote:
I'm not sure if there is a mailing list that would be more appropriate.
Really?
http://weitz.de/hunchentoot/#mail
I'd appreciate if we could continue this discussion on the list, see Cc. (You have to subscribe first, of course.)
I'd like to start by saying thanks for Hunchentoot! (and all the other CL libraries you've developed).
You're welcome... :)
I am just starting with Hunchentoot, but I noticed that the query string parser supports ampersand (&) as a pair separator and I rememberd semi-colon (;) also being a valid separator for query strings. I only remember this from having worked with Perl's CGI. A bit of quick searching on the net lead me to:
http://en.wikipedia.org/wiki/Query_string http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.2.2
to confirm that the semi-colon is mentioned as a separator.
I have to admit that this is the first time I've heard of this recommendation. A quick test with the vastly popular PHP shows that they don't implement it either:
<? print_r($_GET); ?>
Try these:
http://zappa.agharta.de/test.html?foo=bar&baz=quux http://zappa.agharta.de/test.html?foo=bar;baz=quux
So, to everyone on the list - what's your experience with semicolons as query string separators? Is this normal or esoteric? And, even more interesting, does any client out there actually use this convention?
Esoteric these days; you still occasionally see it on the websites of newspapers using a certain CMS. I suspect it exists because of HTML's special treatment of the ampersand character; modern browsers are good at understanding ampersands used in HTTP requests, but I can imagine they were problematic in the past.
I can't imagine any client does; not all that much server software supports it. It might be worth supporting it from a compliance point of view, but there may be a potential for breaking things; I don't think most clients will bother encoding semicolons, so things which previously worked might break. (Say, http://localhost/?phrase=this+is+a+test;+it+contains+a+semicolon ) Rob.