On Tue, 2 Jul 2002, Aaron Bannert wrote:
> On Tue, Jul 02, 2002 at 05:08:17PM -0400, Cliff Woolley wrote:
> > You're supposed to encode a query string like so:
> > http://myserver.com/file.html?arg1=val1&arg2=val2&arg3=val3
>
> Is that actually part of the URI spec, or just a convention? I was
> under the impression that the spec only says that args go after
> a ? and everything after is up to the interface implementor (mod
> URI-character-space).
That's true. But & is definitely the one used by convention. (Maybe it's
in the CGI spec? Not sure on that one.) And that doesn't change the fact
that this in this case ':' was used in place of both the '?' and the
'&', which is definitely wrong.
>From RFC 2396 on URIs:
3. URI Syntactic Components
...
<scheme>://<authority><path>?<query>
each of which, except <scheme>, may be absent from a particular URI.
For example, some URI schemes do not allow an <authority> component,
and others do not use a <query> component.
absoluteURI = scheme ":" ( hier_part | opaque_part )
...
hier_part = ( net_path | abs_path ) [ "?" query ]
net_path = "//" authority [ abs_path ]
abs_path = "/" path_segments
3.4. Query Component
The query component is a string of information to be interpreted by
the resource.
query = *uric
Within a query component, the characters ";", "/", "?", ":", "@",
"&", "=", "+", ",", and "$" are reserved.
--Cliff