Re: [apps-discuss] Retroactive application of draft-ietf-appsawg-uri-scheme-reg - comprehensive review

Sean Leonard <dev+ietf@seantek.com> Thu, 16 April 2015 04:55 UTC

Return-Path: <dev+ietf@seantek.com>
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 49C681B2FA5; Wed, 15 Apr 2015 21:55:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_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 94x7ESxym_Ga; Wed, 15 Apr 2015 21:55:46 -0700 (PDT)
Received: from mxout-07.mxes.net (mxout-07.mxes.net [216.86.168.182]) (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 71A7E1B2F86; Wed, 15 Apr 2015 21:55:46 -0700 (PDT)
Received: from [192.168.123.110] (unknown [23.241.1.22]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id B9A5C22E1F4; Thu, 16 Apr 2015 00:55:43 -0400 (EDT)
Content-Type: multipart/signed; boundary="Apple-Mail=_0B93A74B-117D-4AD6-A59E-5727ED0FB600"; protocol="application/pkcs7-signature"; micalg="sha1"
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Sean Leonard <dev+ietf@seantek.com>
In-Reply-To: <327268B5-3817-42F1-90B3-D44158B0AA5D@gbiv.com>
Date: Wed, 15 Apr 2015 21:54:54 -0700
Message-Id: <46C605DB-0885-428F-90BD-C2988DA161DD@seantek.com>
References: <2E49FA112B054FFAED69D8A1@JcK-HP8200.jck.com> <CALaySJ+JdE5YrBuXv343_CfNP4mYxOR94JV4q_Uso4VoWfD=Ng@mail.gmail.com> <723FBC93979E1019101319C5@JcK-HP8200.jck.com> <4EA0B2F8-5109-49EA-8BAF-0199D1640407@gbiv.com> <55274198.5030309@andyet.net> <CA288E99-DE72-4DCF-9BD5-822A9C8F41F9@gbiv.com> <CALaySJJZsCuQHUSMFULfH33ke63_Xrka8OMft2Dp0NPJNKLF5w@mail.gmail.com> <327268B5-3817-42F1-90B3-D44158B0AA5D@gbiv.com>
To: "Roy T. Fielding" <fielding@gbiv.com>
X-Mailer: Apple Mail (2.1878.6)
Archived-At: <http://mailarchive.ietf.org/arch/msg/apps-discuss/R6Qzaw3EW_1PY3qh55qhR-lJSKI>
Cc: Apps Discuss <apps-discuss@ietf.org>, Barry Leiba <barryleiba@computer.org>, IESG <iesg@ietf.org>, "draft-ietf-appsawg-uri-scheme-reg.all@ietf.org" <draft-ietf-appsawg-uri-scheme-reg.all@ietf.org>
Subject: Re: [apps-discuss] Retroactive application of draft-ietf-appsawg-uri-scheme-reg - comprehensive review
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: Thu, 16 Apr 2015 04:55:48 -0000

On Apr 10, 2015, at 8:44 PM, Roy T. Fielding <fielding@gbiv.com> wrote:

>> On Apr 10, 2015, at 8:38 AM, Barry Leiba <barryleiba@computer.org> wrote:
>> 
>>> No scheme can prohibit fragments. They are not part of the scheme's syntax.
>> 
>> We continue to have a confusion between syntax and semantics here.
>> 
>> I absolutely agree that no scheme can say that fragments are
>> syntactically invalid, because the schemes do not control the syntax
>> of a URI.
>> 
>> But a scheme can certainly say that fragments make no semantic sense
>> within that scheme, and that if a URIs uses that scheme and contains a
>> fragment, it is not a well formed URI within that scheme.
> 
> No, they can't, or at least they cannot say that truthfully.
> 
>> It's rather like saying that English words are composed of characters
>> from the set "abcdefghijklmnopqrstuvwxyz", and, therefore, the string
>> "qwx" is a valid piece of an English word (syntax)... but that, in
>> fact, no valid English words contain "qwx" (semantics).
> 
> Sorry, you've lost me.
> 
> It is more like saying that, because host and port are adjacent to each other in
> the syntax, it is therefore possible for DNS to specify what ports are allowed.
> 
>> That's not a layering violation at all -- it has to be up to the
>> scheme to say what the semantic meaning of a fragment is within that
>> scheme, or whether fragments have any meaning at all.
> 
> It has nothing to do with the scheme. Nothing whatsoever. It is true that there
> are many resources, regardless of scheme, for which a fragment identifier wouldn't
> have much practical purpose other than as a name, but that's only because
> nobody has found a reason to resolve them yet. In most cases, this is because
> deployment of the scheme is so small that it isn't worth anyone's bother to create
> a gateway for information about its identified resources.

I agree with Barry.

The scheme transitively defines the semantic meaning of fragments because the scheme defines the kinds of resources (if any) that are identified by it. Those resources may or may not have Internet media types, and those resources may or may not assign semantic meanings to fragments.

mailto: defines a URI scheme that does not identify representations of anything; it is used to launch a compose window to create new mail. (Arguably a mailto: URI identifies a mailbox.) Therefore fragment identifiers have no semantic meaning in mailto: because mailto: doesn’t use them.

[RFC6068] says:
   Note that this specification, like any URI scheme specification, does
   not define syntax or meaning of a fragment identifier (see [STD66]),
   because these depend on the type of a retrieved representation.  In
   the currently known usage scenarios, a 'mailto' URI cannot be used to
   retrieve such representations.  Therefore, fragment identifiers are
   meaningless, SHOULD NOT be used on 'mailto' URIs, and SHOULD be
   ignored upon resolution.  The character "#" in <hfvalue>s MUST be
   escaped as %23.


This text is entirely consistent with Barry’s point. The scheme may not define the semantics of the fragment directly, but it defines the resources (representations), which in turn define the fragments.

Sean

PS I could be wrong but [RFC3966] looks like it permits the # character in the tel: URI in the path part. Is there a legacy reason for that, or just an oversight?