[apps-discuss] RFC 5785: Registration of .well-known services under HTTP to First Come

Phillip Hallam-Baker <phill@hallambaker.com> Wed, 13 January 2016 22:31 UTC

Return-Path: <hallam@gmail.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 6B4861A8742 for <apps-discuss@ietfa.amsl.com>; Wed, 13 Jan 2016 14:31:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.621
X-Spam-Level:
X-Spam-Status: No, score=0.621 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=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 nzMHNWUCBwb8 for <apps-discuss@ietfa.amsl.com>; Wed, 13 Jan 2016 14:31:08 -0800 (PST)
Received: from mail-lb0-x22d.google.com (mail-lb0-x22d.google.com [IPv6:2a00:1450:4010:c04::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A30241A873C for <apps-discuss@ietf.org>; Wed, 13 Jan 2016 14:31:07 -0800 (PST)
Received: by mail-lb0-x22d.google.com with SMTP id x4so42418822lbm.0 for <apps-discuss@ietf.org>; Wed, 13 Jan 2016 14:31:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=bwO3meZdpAm5YR7bt4f9G7cJ0v7lBdHIID9ryxtCdrU=; b=kWNDY4CUMHp3VmrGWdqMOIOUseqnX8SKJWO1dAElqBWO9ULW0Ci9Y/A5s2kpJyQ2cg Iww1ih9bHP442qX4wj6jtsnH34GdaoRl8hCHkk6tNnFlDyfb3m9447kNEpsqpDQY4Eid DiJp1N96H0JvcszD3MCVlMGZ9MX5FNlAb/ZkM2FnC4GWMA4p6GO+Zv7nDFtkgTSC080n KtXcxOnyUqvpEyCqFNFWGYNZYFWbuewure3ewm5nEm1XHRIO7AQTAKVhHpATU0lm1LEe QAGX85IbHR6yJsbQ2ZEypJzlmzUEsuUWUabdOOTY3dqVjuqOfeh/dawkutYdnUAcgGI/ EARQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:date:message-id:subject:from :to:content-type; bh=bwO3meZdpAm5YR7bt4f9G7cJ0v7lBdHIID9ryxtCdrU=; b=NHdTtoAvrH0zttiywuRFmNlHZhaMFpCI6hi49zZKZm/A9FfW6JkDX/5k/cKid4ITC0 bTReSawBcPOPg4S1ywwd2O/6y6Way0PGwiclbntZNNpNb3jyc520xD7X8S7zDj3CK/xi APuGoukdVjtjsWa4ro2OgDdoZGGA0fMUtRm2qB3VDk+ZnYa57fnrQqAO9IQ51YvU6wmd Xt5dN4Y37hI/HoErx48v3e4PlyHvckGXkboNJ5sC5PSYXXF+lMUrNb5bWYXaq84SSM/H AmPA5SKFF+AQCWfV3ru1m0XY40fj4PH42SgHoBD+jVjAdJ4Nr6PHisNpQBL/kU9Gi7Oj r0iQ==
X-Gm-Message-State: ALoCoQlyulZ0Ryz8T7BjxER4XtS37ijk2Ht2ZNWdBefL2xldpndUKcsQ9xt3+7opOxfEKqrtVQrlHPO2qzuO6UDslflpCppNIA==
MIME-Version: 1.0
X-Received: by 10.112.199.197 with SMTP id jm5mr171811lbc.109.1452724265602; Wed, 13 Jan 2016 14:31:05 -0800 (PST)
Sender: hallam@gmail.com
Received: by 10.112.1.33 with HTTP; Wed, 13 Jan 2016 14:31:05 -0800 (PST)
Date: Wed, 13 Jan 2016 17:31:05 -0500
X-Google-Sender-Auth: JPNRISRmdEYkMW6O8IXyUiWY7k8
Message-ID: <CAMm+Lwj=A+KbxOvxFrURZmTmYJuGD3rXvnRToLZ_L+v-Qv_L_w@mail.gmail.com>
From: Phillip Hallam-Baker <phill@hallambaker.com>
To: General discussion of application-layer protocols <apps-discuss@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/apps-discuss/P2fsI3FuxG1-GoRyxKnHR7o9zic>
Subject: [apps-discuss] RFC 5785: Registration of .well-known services under HTTP to First Come
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: <https://mailarchive.ietf.org/arch/browse/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: Wed, 13 Jan 2016 22:31:09 -0000

Last week I released my set of build tools for specifications and
services on sourceforge.
https://sourceforge.net/projects/phb-build-tools/

One of the tools is a JSON protocol compiler. This makes it really
easy to write a Web Service, all the code required to map API data to
HTTP messages is done for the programmer. The tools also create
entries for the reference section in the spec.

I am just writing a note on the conventions that are used to perform
this mapping which I will forward to the list in due course. In short
I could not care less what the mapping is but I do care that
everything does things in the exact same way and the approach respects
sound principles of layer abstraction etc.


Now for the problem. This is how I describe the discovery process:

"Beginning with a DNS address of the service (e.g. example.com), the
client identifies a specific HTTP URL at which to access the service.
The DNS SRV record [!RFC2782] and Well Known Service [!RFC5785]
mechanisms are used for this purpose."


So the basic idea is that given an address 'example.com' and a
protocol 'mmm', the client first attempts to resolve a host using an
SRV lookup:

_mmm._tcp.example.com 0 5 80 host1.example.com

Having found our host, we now use it to construct the web service endpoint:

To: host1.example.com
POST /.well-known/mmm/
Host: example.com

OK, so the spec is all well and good. The problem is that to make this
work, I need two separate registrations. One for the SRV record and a
second for the Well Known. That might be acceptable but the next bit
really is not, getting an SRV record is first come first served,
getting a Well Known is specification required.

This is an inconsistency in approach for a start. The two
registrations serve essentially the same purpose, there should be
essentially the same approach to registration.

I attempted to bring this up with the author but the response was
'people decided different'. Well now I am pointing out that the result
is inconsistent.

In general we should encourage as many people as possible to be using
the IANA registries and put as few obstacles in their way as possible.
We should not worry about the possibility of 'damaging the Internet'.
The people I deal with on a daily basis have been actively attempting
to destroy it for two decades without much success. And the biggest
potential for causing problems in this particular case is two people
attempting to use the same identifier - the very problem that the
registry is there to avoid.

I will also note that the use of the .well-known registry has been
negligible to date
http://www.iana.org/assignments/well-known-uris/well-known-uris.xhtml


I suggest we adopt one of two solutions to this:

1) Make the criteria for listing the same as SRV (first come)

2) Delete the registry completely and fold it into the Well Known
protocols registry used for SRV so that anyone registering an SRV
protocol access prefix will get the Well Known automatically.