Re: [apps-discuss] Scope of RFC3986 and successor - what is a URI?

Julian Reschke <julian.reschke@gmx.de> Fri, 16 January 2015 16:57 UTC

Return-Path: <julian.reschke@gmx.de>
X-Original-To: apps-discuss@ietfa.amsl.com
Delivered-To: apps-discuss@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 927CB1AD06B for <apps-discuss@ietfa.amsl.com>; Fri, 16 Jan 2015 08:57:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YKovV1VXEY07 for <apps-discuss@ietfa.amsl.com>; Fri, 16 Jan 2015 08:57:36 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3CE521ACE44 for <apps-discuss@ietf.org>; Fri, 16 Jan 2015 08:57:36 -0800 (PST)
Received: from [192.168.1.194] ([217.91.35.233]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0LinyL-1Xbk3s2fjJ-00d2P7; Fri, 16 Jan 2015 17:57:33 +0100
Message-ID: <54B942F6.5020007@gmx.de>
Date: Fri, 16 Jan 2015 17:57:26 +0100
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Sean Leonard <dev+ietf@seantek.com>, Daniel Stenberg <daniel@haxx.se>
References: <20140926010029.26660.82167.idtracker@ietfa.amsl.com> <54B16C2B.9050604@seantek.com> <54B17BBE.4000900@intertwingly.net> <54B18B61.8010308@seantek.com> <54B19435.8070401@intertwingly.net> <54B1B211.3050807@seantek.com> <54B1B682.3070609@intertwingly.net> <012001d02d91$6ec42300$4001a8c0@gateway.2wire.net> <54B2781C.4040505@intertwingly.net> <018e01d02dc6$1d03b0a0$4001a8c0@gateway.2wire.net> <54B2CC75.5080900@intertwingly.net> <54B79930.3070009@ninebynine.org> <54B7AEC2.9010109@intertwingly.net> <CAKHUCzz=jZAF-i2_pwGpkER5vNhv95CMwdBCMwigPJ0FA_t4_A@mail.gmail.com> <54B7BD4A.1090803@intertwingly.net> <54B7CF28.7060408@gmx.de> <54B7D605.2060307@intertwingly.net> <f5boaq0gdw5.fsf@troutbeck.inf.ed.ac.uk> <54B806A2.8020803@intertwingly.net>, <CAKHUCzzN4Eu6R_f2Sf8EtiAp-8w3ds5Yp3-PBHK+B0wGRxEtmw@mail.gmail.com> <54b9381b.8ca1e00a.243f.ffffcae4@mx.google.com> <alpine.DEB.2.00.150116172024 0.20283@tvnag.unkk.fr> <98A81DE7-1845-46EC-A3EB-F00438863ECB@seantek.com>
In-Reply-To: <98A81DE7-1845-46EC-A3EB-F00438863ECB@seantek.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Provags-ID: V03:K0:fx2Xhax85SRSZcr2uHLcsAvV2IE2ykj9fXZCcjjvQBwTafe7IfK qkWs2Vy1d5GwNkXDGjXh3JxxnaFV2z0H1YIJhXQtducZL3ABwIg2gF6rxINm/NWvpOVPtOm oBiDnq2w3oUc7u12TgkUBkLzYeMSM9z+Lorjeh/mcrv1VfG3PYSvZOUItrm1XLWGRHJZYHX GXPzkpy7V3c6Sqk7Tqbdg==
X-UI-Out-Filterresults: notjunk:1;
Archived-At: <http://mailarchive.ietf.org/arch/msg/apps-discuss/ocfhrSPKOfJCmFNV3gsF10LdMF4>
Cc: IETF Apps Discuss <apps-discuss@ietf.org>
Subject: Re: [apps-discuss] Scope of RFC3986 and successor - what is a URI?
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss/>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Jan 2015 16:57:38 -0000

On 2015-01-16 17:32, Sean Leonard wrote:
>
> On Jan 16, 2015, at 8:23 AM, Daniel Stenberg <daniel@haxx.se> wrote:
>
>> On Fri, 16 Jan 2015, darrel.miller@gmail.com wrote:
>>
>>> Here is something that round-trips a URL parse/stringify transformation, and actually works, despite being an invalid URI and invalid IRI:
>>>
>>> https://www.google.com/?q=[z]
>>>
>>> My gut feeling is that allowing this to be valid is a possible change, as I've said. I appreciate this is at odds with RFC 3986, but if URL parsers do generally ignore the error that's fine.
>> ̈́
>> $ curl 'https://www.google.com/?q=[z]'
>> curl: (3) [globbing] bad range in column 32
>>
>> This isn't strictly the URI parser saying this, but since we know that [] are not legal in a URI we (curl developers) could use them for additional functionality...
>>
>> Just suggesting that changing this will make some things break.
>
> Yes that is an excellent point. In my own software I use some of those properties of URIs. Since certain characters like { } [ ] < > are not part of URIs, they can be used to develop new functionality (e.g., URI regexps). For example [z] can mean “escape the z variable string in UTF-8” vs  {z} “escape the z variable octet array as-is”, or other variations. And of course { }, < >, and the like can be used to delineate an URI in other contexts, such as in plain text <http://this.is.a.uri.com/foo>.

"{" and "}" are used in URI templates.

Re square brackets, see for example: 
<http://stackoverflow.com/questions/40568/square-brackets-in-urls>

Best regards, Julian