Re: #431: URI path starting with "//"

On 2013-02-10 17:23, Zhong Yu wrote:
> On Sun, Feb 10, 2013 at 9:45 AM, Julian Reschke <julian.reschke@gmx.de> wrote:
>> On 2013-02-08 23:48, Zhong Yu wrote:
>>>
>>> On Fri, Feb 8, 2013 at 11:05 AM, Julian Reschke <julian.reschke@gmx.de>
>>> 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
>>>>> "//"
>>>>>
>>>>>
>>>>> http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-21#section-5.3
>>>>>
>>>>>        origin-form    = path-absolute [ "?" query ]
>>>>>
>>>>> http://tools.ietf.org/html/rfc3986#section-3.3
>>>>>
>>>>>        path-absolute   ; begins with "/" but not "//"
>>>>>
>>>>> I couldn't find anything in RFC 3986 that accurately describe the path
>>>>> part that we really want, which should be
>>>>>
>>>>>        path-xxx = "/" *( "/" / pchar )
>>>>>
>>>>> HTTP probably need to define this term. It'll also help people to
>>>>> finally refer to this thingy with a proper name.
>>>>>
>>>>> Zhong Yu
>>>>
>>>>
>>>>
>>>> We have
>>>>
>>>>     origin-form    = path-absolute [ "?" query ]
>>>>
>>>> with
>>>>
>>>>     path-absolute = "/" [ segment-nz *( "/" segment ) ] ;
>>>> <http://greenbytes.de/tech/webdav/rfc3986.html#path>
>>>>
>>>> Using
>>>>
>>>>     origin-form  = "/" [ segment *( "/" segment ) ] [ "?" query ]
>>>
>>>
>>> This should work too
>>>
>>>       origin-form  = 1*( "/" segment )  [ "?" query ]
>>>
>>>
>>>>
>>>> ...seems to be the minimal change (or can we simplify that production
>>>> further without losing readability?)
>>>>
>>>> Best regards, Julian
>>
>>
>> Proposed patch:
>> <http://trac.tools.ietf.org/wg/httpbis/trac/attachment/ticket/431/431.diff>
>>
>> ...I ended up defining a new production, for the absolute path, because
>> other parts of the spec refer to it in prose.
>
> I like the term "absolute-path".
>
> I think
>
>      absolute-path = 1*( "/" segment )
>
> will make the intention more obviously.

Indeed!

Best regards, Julian

Received on Sunday, 10 February 2013 17:16:50 UTC