Re: URI path starting with "//"

It’s also potentially a source of confusion - in the process of
switching some stuff over from http to https, I had occasion to use
lots of URI references of the form "//server/path", which turn out to
be quite useful, and are an entirely different thing from this
two-stroke idiom.  -T

On Fri, Feb 1, 2013 at 1:08 PM, Roy T. Fielding <fielding@gbiv.com> wrote:
> 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:27:15 UTC