Re: [Uri-review] Request for review

Timothy Mcsweeney <tim@dropnumber.com> Sat, 30 May 2020 12:20 UTC

Return-Path: <tim@dropnumber.com>
X-Original-To: uri-review@ietfa.amsl.com
Delivered-To: uri-review@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B90B93A0A1C for <uri-review@ietfa.amsl.com>; Sat, 30 May 2020 05:20:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.695
X-Spam-Level:
X-Spam-Status: No, score=-1.695 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTP_ESCAPED_HOST=0.1, MIME_HTML_ONLY=0.1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
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 Gfjm9b3qSU71 for <uri-review@ietfa.amsl.com>; Sat, 30 May 2020 05:20:55 -0700 (PDT)
Received: from mout.perfora.net (mout.perfora.net [74.208.4.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EB4723A0A1A for <uri-review@ietf.org>; Sat, 30 May 2020 05:20:54 -0700 (PDT)
Received: from oxusgaltgw03.schlund.de ([10.72.72.49]) by mrelay.perfora.net (mreueus002 [74.208.5.2]) with ESMTPSA (Nemesis) id 0MZBIA-1jQcqZ3FPQ-00L1Je; Sat, 30 May 2020 14:20:15 +0200
Date: Sat, 30 May 2020 08:20:15 -0400
From: Timothy Mcsweeney <tim@dropnumber.com>
Reply-To: Timothy Mcsweeney <tim@dropnumber.com>
To: Graham Klyne <gk@ninebynine.org>, uri-review@ietf.org
Message-ID: <1435838702.391137.1590841215132@email.ionos.com>
In-Reply-To: <656ab4ec-df34-c7a4-ed36-79a03623636c@ninebynine.org>
References: <491516506.246380.1589851279474@email.ionos.com> <5EC9B257.31362.CC5E003@dan.tobias.name> <1783049000.100771.1590323508943@email.ionos.com> <5ECA8A94.23977.101292FE@dan.tobias.name> <1426881880.158099.1590335585858@email.ionos.com> <94368b41-c15b-da2c-421d-fdd9300be6e9@dret.net> <1310141163.159340.1590344745080@email.ionos.com> <BL0PR2101MB102738EF50D7C8AD647E10BBA3B20@BL0PR2101MB1027.namprd21.prod.outlook.com> <1081815563.141711.1590624311343@email.ionos.com> <BL0PR2101MB102762C4CAFACC383412D5D8A38E0@BL0PR2101MB1027.namprd21.prod.outlook.com> <BL0PR2101MB10278A5360398EFF2E73FC0BA38E0@BL0PR2101MB1027.namprd21.prod.outlook.com> <117630321.142251.1590627970509@email.ionos.com> <8ae1641a-74c8-6c2d-7092-6cf53e745fb7@ninebynine.org> <797476254.282655.1590770737009@email.ionos.com> <656ab4ec-df34-c7a4-ed36-79a03623636c@ninebynine.org>
MIME-Version: 1.0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Priority: 3
Importance: Normal
X-Mailer: Open-Xchange Mailer v7.10.1-Rev31
X-Originating-Client: open-xchange-appsuite
X-Provags-ID: V03:K1:T9yonoRgRuidHnDM67h2uVzzeN3YlGmNspN+St3i/pkzGk7EEvg WfqA/55Odbhix7BYcPKrKIb1UjKUExQB5lfR0rdPgQ0JtFh+QXdHdYfyx8c/aGvfUF/BOEs gopXq2TG5QcbUn4poM/TZDomzSPC32tHJgnXfL9Kkjx/OSrSSV3r5qE4DNKjpqcHpMuZHAv 5cp9se8ZE3PW/VWgI8ILg==
X-UI-Out-Filterresults: notjunk:1;V03:K0:34nTIojgEws=:RqXdfFl7fnrjjr8BJsSoc9 /o298dnDldYG4w6dE4ly8Fboso2rSZZuEB09www29cMymWCpjNva6byNHBvRC7YW+0wwCUi+j ODmKbQnYLLJXJUL3KPRqDjKrR6o7W8547jGe/2qAXaMYw2GCsmUd2c0FGFitNCVju1ttSOeWY 5ujayglfcdvbYK3KxbYYOIAbtx+NzJ6xlzIcS42KCwmv6Km/IiOr1InB6Q5pgXkqsO8xZZq/W IU6T/0MUuVR0Zw6Lg9QSJjYr+ukKHyVV6rV/G3CppFGq1b2xfwerRrJBU5+yOjcn/qslGUkjQ wAmfRRAJ4o7XX+5Wt5pgIqJcxAyG+0LItBnvbDkEcLXMB0fyp/zQcuhbEgo10P6FP03WuZPKX aP1QgIBT5X80NM+otK6oIQz8zqV1LHOg407CE2sIly/hDCGvl114JOhXFL7hjsMLALTIZBSBN cGtvtP6IHih0fbutfNcP/qakk97Frf4EKW53Wx9+ZMVDQGavPHVBgkiW1OBRuLKUbFCEO4wxG lZxmTsCZlMdM0uoYSJrC/GATPLbuEoRmz63VRKeOAd306gDMn8Gy3T5l/uSuKbv4ZlpTJhzhN Y66vdxFlPbxcTYL6CC8nLfs/jf9oHpzIylqVsYVCkSznyj8xMPsLIZ2eOFp/GXckXcHZcinLM 0VTIQujkAU//lC1EPmYnWGoD8Yl+BfivihJBvVBbXba5A5g9zG0IPG/uI/o0rE3ofHbYXT0ru fdrduL/aAvf24V3LmxrQyfQAF9V+o6YzXnN66o5PSuVHs5euRtOuZIMW5YirKKF4xewTSMWb4 RZ9rEADTq2EwZmlJdeEdfDRmHWd2a5ThZcJ2rD4VfAYrB6UQsL2AzlgDSZyrnKSvK2yJr4p2K eBPFSmOFAnrU5UTxYvMQ==
Archived-At: <https://mailarchive.ietf.org/arch/msg/uri-review/jL3fjexwSEdJE0id8Gp1qBD1KZA>
Subject: Re: [Uri-review] Request for review
X-BeenThere: uri-review@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proposed URI Schemes <uri-review.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/uri-review>, <mailto:uri-review-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/uri-review/>
List-Post: <mailto:uri-review@ietf.org>
List-Help: <mailto:uri-review-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/uri-review>, <mailto:uri-review-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 30 May 2020 12:20:58 -0000

Hi Graham, 

>>A short answer here is that you need the colon after the scheme name
because that's what the URI specification, which represents a community
consensus, says.

Yes, the entire 3986 represents a community consensus , even the parts some
don't like, including the parts I want to use. The community that ratified that
RFC still exists.

And if people want to make parsers that don't work with the spec it doesn't become the spec's problem.


Tim

On May 30, 2020 at 5:24 AM Graham Klyne < gk@ninebynine.org> wrote:


Hi Tim,

A short answer here is that you need the colon after the scheme name because
that's what the URI specification, which represents a community consensus, says.

A pragmatic response is that many contexts allow either a URI or a relative
reference to be used (e.g. HTML <a href="...">). So it's important for a
processor to be able to distinguish between these cases. The colon after the
sceme name is what makes that possible

(BTW, I wasn't suggesting you were treating anything as arbitrary. But in
practice, some choices *are* arbitrary, and for interoperability we need to
agree some such choices.)

#g
--


On 29/05/2020 17:45, Timothy Mcsweeney wrote:
Hi Graham,

I would never treat suggestions from this list as arbitrary, quite the contrary.
I want to change the format of this reply just for a minute to express my
deductions.

This is an excerpt from the conversation in my head:


If you take away all the components and subcomponents of a URI, what's leftover?
The colon.
And what governs the colon?
The dereferencing algorithm.
Does http use a colon in its dereferencing?
It does.
What about a URN?
It does.
FTP and Mailto?
Yup the same.
So If you change the colon to a number sign would you get them same output?
Yes.
All of them?
Yes.
Can you prove it?
Yes.
Why do all the delimiters have quotes around them?
Because they are interchangeable.
Interchangeable everywhere?
No, just within the scope of their placement.  That's why URNs can use a bunch
of colons and not interfere with the first colon after the URN scheme name.
But it says the colon is required doesn't it?
I can not pinpoint the sentence that says that.
But section 3, the colon is in the generic syntax, you can see that right?
Yes but the title of section 3 is "Syntax Components" and the colon is not a
component.
Wait, what does generic mean?
Not specific.
So the generic syntax is not specific?
That's right.
So [RFC3986] is a specification that is defining something that is not specific?
Yup, says it right there in the abstract.

From here my mental conversation took a left turn.  But I wanted to put this
out here so that the members of this list didn't think my intent was for purely
self interest reasons but that we can all use what's here.
Tim

On May 29, 2020 at 6:01 AM Graham Klyne < gk@ninebynine.org
<mailto: gk@ninebynine.org>> wrote:
>>
>> Hmmm... I find that bit of RFC3986 isn't immeditely clear. But on closer study,
>> I think it's simply saying that the characters are "safe" in the sense that
>> they are protected from change by URI normalization, hence that when used as
>> delimiters there is no risk that the interpretation of the URI is affected by
>> URI normalization (see also section 6 of RFC 3986).
>>
>> But some of these reserved characters already have defined purposes in URI
>> structure, and any scheme-dependent use needs to take care not to interfere with
>> such use. For example, using "#" as a delimiter within a URI path would
>> interfere with it's already-defined purpose to delimit a fragment.
>>
>> Also, current URI structure *requires* that the ":" is used to delimit the
>> scheme name from the rest of the URI. Suggestions by others on this list to use
>> ":" rather than "#" are not entirely arbitrary.
>>
>> As a rule of thumb, I would suggest that if you do need scheme-specific
>> delimiters (and it's not clear to me that you do), then using one from the
>> "sub-delims" set is more likely to avoid conflicts with generic URI syntax and
>> interpretation.
>>
>> #g
>> --
>>
>>
>> On 28/05/2020 02:06, Timothy Mcsweeney wrote:
>>> Hi Dave,
>>>
>>> By "safe" I meant like ".....
>>>
>>> safe to be
>>> used by scheme-specific and producer-specific algorithms for
>>> delimiting data subcomponents within a URI"
>>>
>>> Like it says in section 2.2 of RFC3986.
>>>
>>> Tim
>>>
>>>> On May 27, 2020 at 8:48 PM Dave Thaler < dthaler@microsoft.com
>>>> <mailto: dthaler@microsoft.com>> wrote:
>> >> s/URL/URI/ in both cases in my response J
>> >>
>> >> *From:*Uri-review < uri-review-bounces@ietf.org
>> <mailto: uri-review-bounces@ietf.org>> *On Behalf Of *Dave Thaler
>> >> *Sent:* Wednesday, May 27, 2020 5:47 PM
>> >> *To:* Timothy Mcsweeney < tim@dropnumber.com <mailto: tim@dropnumber.com>>;
>> >> *Subject:* Re: [Uri-review] Request for review
>> >>
>> >>
>> >> I don’t understand your question.   The URL syntax is fixed by that RFC.
>> >>
>> >> I don’t know what you mean by “safe” or “valid”.
>> >>
>> >> If by “valid” you mean “allowed by RFC 3986”, the answer is that they may only
>> >> appear in a URL literally
>> >>
>> >> if they have the exact meaning in the RFC, otherwise they must be pct-encoded.
>> >>
>> >> *From:*Uri-review < uri-review-bounces@ietf.org
>> *On Behalf Of *Timothy Mcsweeney
>> >> *Sent:* Wednesday, May 27, 2020 5:05 PM
>> >> *To:* uri-review@ietf.org <mailto: uri-review@ietf.org> <mailto:
>> >> *Subject:* Re: [Uri-review] Request for review
>> >>
>> >>
>> >> Hi Dave,
>> >>
>> >>
>> >> If the other six gen-delims from the reserved set were safe and valid, would
>> >> you oppose their use in URIs?
>> >>
>> >>
>> >> Tim
>> >>
>> >>
>> >>
>> >>
>> >> On May 24, 2020 at 6:08 PM Dave Thaler < dthaler@microsoft.com
>> <mailto: dthaler@microsoft.com>
>> >> <mailto: dthaler@microsoft.com <mailto: dthaler@microsoft.com>>> wrote:
>> >>
>> >> Hi Tim,
>> >>
>> >> Correct the colon is not part of the hier-part, the hier-part is what
>> >> comes after the colon.  RFC 3986 says:
>> >>
>> >> URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
>> >>
>> >> Only strings that conform to the above are URIs.
>> >>
>> >> So “drop#sd54g54” is not a URI because it does not conform to the above
>> >> syntax, as it has no “:”
>> >>
>> >> “drop:sd54g54” on the other hand would be a valid URI.
>> >>
>> >> This is what folks are saying when they say if you just change the “#” to
>> >> a “:” in your draft then it becomes legal.
>> >>
>> >> Dave
>> >>
>> >> *From:*Uri-review < uri-review-bounces@ietf.org
>> *On Behalf Of *Timothy Mcsweeney
>> >> *Sent:* Sunday, May 24, 2020 11:26 AM
>> >> *To:* Erik Wilde < erik.wilde@dret.net <mailto: erik.wilde@dret.net>
>> <mailto: erik.wilde@dret.net <mailto: erik.wilde@dret.net>>>;
>> >> uri-review@ietf.org <mailto: uri-review@ietf.org> <mailto:
>> >> *Subject:* Re: [Uri-review] Request for review
>> >>
>> >>
>> >> Hi Erik,
>> >>
>> >>
>> >> Thank you, I will have another look at my reference to section 3.
>> >>
>> >> Would you agree that in " https://ietf.org" rel="noopener nofollow" target="_blank">https://ietf.org
>> >> < "" rel="noopener"
>>
>> >> the colon is not part of the hier-part?
>> >>
>> >> On May 24, 2020 at 12:02 PM Erik Wilde < erik.wilde@dret.net
>> <mailto: erik.wilde@dret.net>
>> >> <mailto: erik.wilde@dret.net <mailto: erik.wilde@dret.net>>> wrote:
>> >>
>> >>
>> >>
>> >> hey tim.
>> >>
>> >>
>> >> On 2020-05-24 17:53, Timothy Mcsweeney wrote:
>> >>
>> >> Yes, I agree and understand that the same way as you.   But when
>> >> the "#"
>> >>
>> >> leaves the client it is not leaving as a fragment,
>> >>
>> >> what people are telling you is that "#" and anything following it never
>> >>
>> >> leaves the client, by definition..
>> >>
>> >>
>> >> it is leaving as a
>> >>
>> >> way to separate the URI components, <scheme> and <path> or for http it
>> >>
>> >> would be separating <scheme> and <authority>.  It is this that
>> >> makes me
>> >>
>> >> believe that even if the colon is required for http resolution, it is
>> >>
>> >> not necessarily required for all URI.
>> >>
>> >> this discussion could be more productive if you had a brief look at the
>> >>
>> >> specs you're depending on. the very first rule shown in
>> >>
>> >> <
>>
>> >> is
>> >>
>> >>
>> >> URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
>> >>
>> >>
>> >> each URI is defined like this and must have a colon.
>> >>
>> >>
>> >> cheers,
>> >>
>> >>
>> >> dret.
>> >>
>> >>
>> >> --
>> >>
>> >> erik wilde | mailto: erik.wilde@dret.net <mailto: erik.wilde@dret.net>
>> <mailto: erik.wilde@dret.net <mailto: erik.wilde@dret.net>> |
>> >>
>> >> | http://dret.net/netdret" rel="noopener nofollow" target="_blank">http://dret.net/netdret
>> >> <
>>
>> >> |
>> >>
>> >> | http://twitter.com/dret" rel="noopener nofollow" target="_blank">http://twitter.com/dret
>> >> <
>>
>> >> |
>> >>
>> >>
>>>
>>> _______________________________________________
>>> Uri-review mailing list