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

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.

Feedback appreciated,

Julian

Received on Sunday, 10 February 2013 15:45:44 UTC