- From: Tim Bray <tbray@textuality.com>
- Date: Fri, 1 Feb 2013 13:26:47 -0800
- To: "Roy T. Fielding" <fielding@gbiv.com>
- Cc: Julian Reschke <julian.reschke@gmx.de>, Bjoern Hoehrmann <derhoermi@gmx.net>, Zhong Yu <zhong.j.yu@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
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