[hunchentoot-devel] Re: Hunchentoot's query parameter seperator

Robert Synnott rsynnott at gmail.com
Thu Nov 22 13:50:25 UTC 2007


On Nov 22, 2007 9:30 AM, Edi Weitz <edi at agharta.de> wrote:
> Hi,
>
> On Tue, 20 Nov 2007 09:31:01 -0500, "Kyle R. Burton" <kyle.burton at 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.


-- 
Robert Synnott
http://myblog.rsynnott.com
MSN: rsynnott at gmail.com
Jabber: rsynnott at gmail.com



More information about the Tbnl-devel mailing list