Re: URI path starting with "//"

On Feb 1, 2013, at 12:34 PM, Julian Reschke wrote:

> On 2013-02-01 20:07, Bjoern Hoehrmann wrote:
>> * Julian Reschke wrote:
>>> On 2013-02-01 19:37, Zhong Yu wrote:
>>>> If user clicks a URL http://example.com//abc, the browser should send
>>>> 
>>>>      GET //abc HTTP/1.1
>>>>      Host: example.com
>>>> 
>>>> However the latest bis draft seems to forbid "origin-form" to start with "//"
>>>> ...
>>> 
>>> Is this a valid URI?
>> 
>> http://www.websitedev.de/temp/rfc3986-check.html.gz says yes. Per 3986:
>> 
>>    URI           = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
>>    hier-part     = "//" authority path-abempty
>>    ...
>>    path-abempty  = *( "/" segment )
>>    ...
>>    segment       = *pchar
> 
> Indeed. This appears to be an edge-case, but still...

Back in the really really early days of the Web, // would
indicate a gateway (essentially, an open proxy).  TimBL said that
the original idea was for many more layers than that, e.g.

   ////first///second//third/path

as a form of routing.  Needless to say, that did not catch on.

> Roy, do you recall whether there's a reason why we would want to rule out a path starting with "//"?

No, it is an accident of the transition to new URI ABNF and
should be raised as an issue.  There are several different ways to
fix it, depending on how lenient we want to be with parsing.

....Roy

Received on Friday, 1 February 2013 21:08:46 UTC