semantic equivalence of delimiters in URIs

whilst debugging another issue, I came across evidence of a client 
sending proxy-style requests with URIs in the form

http://somesite.com?id=somequeryparameter

It struck me as odd that a client should be capable of sending such a 
request (missing resource - no '/' )

I read through RFC 2396 which seems to cover such things, and found in s 
3.2 Authority component

The authority component is preceded by a double slash "//" and is
    terminated by the next slash "/", question-mark "?", or by the end of
    the URI.

I tested several browsers to see if they would permit entering a URI in 
this form.  None that I tested would allow it, and all inserted a 
forward slash between the end of the authority, and the questionmark.

So my question then, are the following 2 request URIs actually 
semantically equivalent?

http://somesite.com?id=somequeryparameter
http://somesite.com/?id=somequeryparameter

If these are not equivalent, it could be considered non-compliant to 
rewrite the request to include the slash.

Regards

Adrien de Croy

Received on Thursday, 17 June 2010 02:10:54 UTC