W3C home > Mailing lists > Public > ietf-http-wg@w3.org > January to March 2013

Re: URI path starting with "//"

From: Roy T. Fielding <fielding@gbiv.com>
Date: Fri, 1 Feb 2013 13:08:25 -0800
Cc: Bjoern Hoehrmann <derhoermi@gmx.net>, Zhong Yu <zhong.j.yu@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
Message-Id: <93E3B5CE-A778-4C5D-ACDB-09B22860CE07@gbiv.com>
To: Julian Reschke <julian.reschke@gmx.de>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 1 February 2013 21:08:48 GMT