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

Julian Reschke <julian.reschke@gmx.de> Sun, 10 February 2013 15:47 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A6AA221F8428 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 10 Feb 2013 07:47:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.368
X-Spam-Level:
X-Spam-Status: No, score=-10.368 tagged_above=-999 required=5 tests=[AWL=0.231, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ImSVd9451F3c for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 10 Feb 2013 07:47:41 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id B9C5221F8423 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 10 Feb 2013 07:47:41 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1U4Z6F-0006gh-5z for ietf-http-wg-dist@listhub.w3.org; Sun, 10 Feb 2013 15:45:51 +0000
Resent-Date: Sun, 10 Feb 2013 15:45:51 +0000
Resent-Message-Id: <E1U4Z6F-0006gh-5z@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <julian.reschke@gmx.de>) id 1U4Z68-0006fU-C4 for ietf-http-wg@listhub.w3.org; Sun, 10 Feb 2013 15:45:44 +0000
Received: from mout.gmx.net ([212.227.17.21]) by lisa.w3.org with esmtp (Exim 4.72) (envelope-from <julian.reschke@gmx.de>) id 1U4Z67-0008D5-CK for ietf-http-wg@w3.org; Sun, 10 Feb 2013 15:45:44 +0000
Received: from mailout-de.gmx.net ([10.1.76.2]) by mrigmx.server.lan (mrigmx002) with ESMTP (Nemesis) id 0MY1JW-1UQXy01nua-00Ur8f for <ietf-http-wg@w3.org>; Sun, 10 Feb 2013 16:45:16 +0100
Received: (qmail invoked by alias); 10 Feb 2013 15:45:16 -0000
Received: from p5DD94BA1.dip.t-dialin.net (EHLO [192.168.2.117]) [93.217.75.161] by mail.gmx.net (mp002) with SMTP; 10 Feb 2013 16:45:16 +0100
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1+SGvRA2xqSciv9OBlWKzrSBZtm7u0uD5abYZd6CJ 8QfwJyzn1p8kuz
Message-ID: <5117C088.9040105@gmx.de>
Date: Sun, 10 Feb 2013 16:45:12 +0100
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2
MIME-Version: 1.0
To: Zhong Yu <zhong.j.yu@gmail.com>
CC: HTTP Working Group <ietf-http-wg@w3.org>
References: <CACuKZqHi6gBmd-khrW-_7febxoh-pNd4hzfyA4EgRNKQ4ivWog@mail.gmail.com> <51153061.9010603@gmx.de> <CACuKZqGOg06CxABULxDi+DSSgryp0aBoyvhJdEs3d89-4Y43iQ@mail.gmail.com>
In-Reply-To: <CACuKZqGOg06CxABULxDi+DSSgryp0aBoyvhJdEs3d89-4Y43iQ@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
Received-SPF: pass client-ip=212.227.17.21; envelope-from=julian.reschke@gmx.de; helo=mout.gmx.net
X-W3C-Hub-Spam-Status: No, score=-3.4
X-W3C-Hub-Spam-Report: AWL=-3.424, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001
X-W3C-Scan-Sig: lisa.w3.org 1U4Z67-0008D5-CK c93a6f98cce519ea04955985a9feceee
X-Original-To: ietf-http-wg@w3.org
Subject: Re: #431: URI path starting with "//"
Archived-At: <http://www.w3.org/mid/5117C088.9040105@gmx.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/16522
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

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