Re: [urn] URNs are not URIs (another look at RFC 3986)

John C Klensin <john-ietf@jck.com> Mon, 14 April 2014 14:36 UTC

Return-Path: <john-ietf@jck.com>
X-Original-To: urn@ietfa.amsl.com
Delivered-To: urn@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 419AB1A03D7; Mon, 14 Apr 2014 07:36:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.872
X-Spam-Level:
X-Spam-Status: No, score=-2.872 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.272] 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 Zutebk6W3x9i; Mon, 14 Apr 2014 07:35:56 -0700 (PDT)
Received: from bsa2.jck.com (bsa2.jck.com [70.88.254.51]) by ietfa.amsl.com (Postfix) with ESMTP id 585571A047E; Mon, 14 Apr 2014 07:35:56 -0700 (PDT)
Received: from [198.252.137.115] (helo=JcK-HP8200.jck.com) by bsa2.jck.com with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1WZhzF-0004yO-P0; Mon, 14 Apr 2014 10:35:53 -0400
Date: Mon, 14 Apr 2014 10:35:48 -0400
From: John C Klensin <john-ietf@jck.com>
To: Julian Reschke <julian.reschke@gmx.de>, apps-discuss@ietf.org
Message-ID: <3D39F1AA700A179F3C051DE2@JcK-HP8200.jck.com>
In-Reply-To: <534BED18.9090009@gmx.de>
References: <C93A34DBE97565AD96CEC321@JcK-HP8200.jck.com> <534BED18.9090009@gmx.de>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Connect-IP: 198.252.137.115
X-SA-Exim-Mail-From: john-ietf@jck.com
X-SA-Exim-Scanned: No (on bsa2.jck.com); SAEximRunCond expanded to false
Archived-At: http://mailarchive.ietf.org/arch/msg/urn/e01rb7_dIt-Cu8sbulg29-YvU5o
Cc: urn@ietf.org
Subject: Re: [urn] URNs are not URIs (another look at RFC 3986)
X-BeenThere: urn@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Revisions to URN RFCs <urn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/urn>, <mailto:urn-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/urn/>
List-Post: <mailto:urn@ietf.org>
List-Help: <mailto:urn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/urn>, <mailto:urn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Apr 2014 14:36:01 -0000

--On Monday, April 14, 2014 16:13 +0200 Julian Reschke
<julian.reschke@gmx.de> wrote:

> On 2014-04-14 15:11, John C Klensin wrote:
>> ...
> 
> One remark:
> 
> I don't think it's helpful to mix *this* discussion with the
> WHAT/W3C/IETF discussion about the "URL specification" (which
> essentially is about error-tolerant parsing)

Agreed (although I would characterize parts of that discussion
differently).  The draft is strictly about the URN issues and
doesn't do that.  I just wanted to provide a little extra
context about other things that are going on to head off a
conversation about how 3986 must be inviolate ... a discussion
to which those other discussions would be relevant.

> And one question:
> 
> If you followed this path, would you still be able to use
> RFC3986-conforming libraries to handle URNs?

Depends on what that means.  For a URN NID that is
2141-conformant (a small subset of what 3986 allows) any library
that can handle it today will handle it after this change.  But
what is driving this change is not theory, it is a need for new
functionality that just doesn't fit into the locator-oriented
3986 model.  That new functionality will require either new
syntax or old syntax with different semantics than those
specified in 3986.  Just as there is no such thing as a
3986-conforming library that can completely and generally handle
queries (other than parsing the query away from other components
and dispatching it properly), such libraries are not likely to
be able to fully process URNs.

Another piece of that issue is that comparison of two URNs for
equality is,  in the general case, a rather different kind of
operation than comparison of two URLs; I would not expect a
URL-based algorithm (e.g., a RFC3986-conformant library) to be
able to get URN comparisons right, at least without NID-specific
action routines.

I'm being a little vague about this only because the WG hasn't
gotten into the syntax to be used for those new functions.  I
think every effort will be made to keep as much compatibility as
possible, at least short of horrible and obvious kludges, but
how far 3986 libraries can be pushed will depend on those
decisions.

Some of this is explored from a slightly different perspective
in a few recent notes on the WG mailing list; please have a look.

best regards,
    john