Re: Structured Headers: URI type (#782)

Mark Nottingham <mnot@mnot.net> Thu, 02 May 2019 06:10 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9394D1200A0 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 1 May 2019 23:10:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.999
X-Spam-Level:
X-Spam-Status: No, score=-2.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mnot.net header.b=hUcrZx7w; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=P7Dbz1hR
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 HlP3Td7OgUXX for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 1 May 2019 23:10:56 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [IPv6:2603:400a:ffff:804:801e:34:0:38]) (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 CC08F120006 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 1 May 2019 23:10:56 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1hM4u4-0004A6-3y for ietf-http-wg-dist@listhub.w3.org; Thu, 02 May 2019 06:09:08 +0000
Resent-Date: Thu, 02 May 2019 06:09:08 +0000
Resent-Message-Id: <E1hM4u4-0004A6-3y@frink.w3.org>
Received: from mimas.w3.org ([2603:400a:ffff:804:801e:34:0:4f]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mnot@mnot.net>) id 1hM4u2-00048M-AQ for ietf-http-wg@listhub.w3.org; Thu, 02 May 2019 06:09:06 +0000
Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <mnot@mnot.net>) id 1hM4u1-000652-0t for ietf-http-wg@w3.org; Thu, 02 May 2019 06:09:06 +0000
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 41DEA23226; Thu, 2 May 2019 02:08:43 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Thu, 02 May 2019 02:08:43 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm2; bh=m SY/eJktDVVCzW36YzVIXfgwjcWwew6XDbtZixtPcIk=; b=hUcrZx7w9jFwQJvhu Macyuamttb1whokeUjPMMnfer2h6Ea358J36b9Iu3AI664rnJcuwklD1pOlCb7n1 4h4/j1d0Ncu70BpgVemyjbMoJ+se6RLEXuMaPqmkCmPbf6Hago8sulubT2x8Hnqa fohb5nMwYatFKr/v+eIRDdK18JMRF4cen0aJkdp4xa1GyQSVDB2ynRzZpDiVqKra j9Gy8IFV5ZiIvr7v/KLcUhHlSSzdD6tRA/MUXXFpzbEogSnUY/wyLJrWsqoBqpyq /4QAKN78cQpN2afOVh+VZKiBGbJg0jEWNIMBAN99bYEx+MyzQksnCZrJe+z/9B64 +U3PQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=mSY/eJktDVVCzW36YzVIXfgwjcWwew6XDbtZixtPc Ik=; b=P7Dbz1hRuVqxkNY2yilTFUVYUKQB6Q3zQ1TTes7guTURssvLf+Cz+/uMQ xqRxtkqhmsmQXY6goqLTLG9p3u+fKzTp7nQU0fx1G1sQVusDDj3ETsvxi9lJO+xX 8gt0e+JANRLWG0iqcBHEFP9LoGw7GZfMNZWFCygojMOAKVZyygKJ/2GD1OVor2yc apCTvvRUULiTasu/+MMbTXjdUXCa++baeaHHjWi8qN0x7KN1dQVLeYNPXjpnDBH/ TRSozwl84hujXVshb04HuaF1UnC/dU29mY6VV4sE4Z2RQzEFrA7JDxChXCCmbECp BDnA5Mvaf+LSESMDvJQjdfQwrGW5Q==
X-ME-Sender: <xms:aYnKXNHZoomEmt87xdSkkEtBfcMABBDmyGFohpQbf9j8SP7HziFK5g>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrieekgdelgecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpegtggfuhfgjfffgkfhfvffosehtqhhmtdhhtddvnecuhfhrohhmpeforghrkhcu pfhothhtihhnghhhrghmuceomhhnohhtsehmnhhothdrnhgvtheqnecuffhomhgrihhnpe hmnhhothdrnhgvthenucfkphepudeggedrudefiedrudejhedrvdeknecurfgrrhgrmhep mhgrihhlfhhrohhmpehmnhhothesmhhnohhtrdhnvghtnecuvehluhhsthgvrhfuihiivg eptd
X-ME-Proxy: <xmx:aYnKXGl52ZWy22YDUeNzDAvPAssXJnRZ4YgnhnrBY7LUvN2nU_PoZw> <xmx:aYnKXKL0I-0jmSL6vlMOvdM34_Sz-cgOpVxtPPvIR-qvXr1cFoEH-g> <xmx:aYnKXHa-b1abKNd4Q92vSY5OkCoN4dCDX7aY3aVzlEEKfeztRV_1cw> <xmx:a4nKXDU17pGOgPsjfkHSp3zxTzKqRMFIrTsaqLOzb97RC7oBy9A0-w>
Received: from macbook-pro.mnot.net (unknown [144.136.175.28]) by mail.messagingengine.com (Postfix) with ESMTPA id D3CFBE4382; Thu, 2 May 2019 02:08:38 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.8\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <cdbb5212-6928-39c7-de90-b9c643949057@gmx.de>
Date: Thu, 02 May 2019 16:08:33 +1000
Cc: "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org>, Poul-Henning Kamp <phk@phk.freebsd.dk>
Content-Transfer-Encoding: quoted-printable
Message-Id: <93A7186B-0357-4D8F-91CB-26D1290C483B@mnot.net>
References: <31F60C8F-907A-44C4-B98E-3F49249A40B8@mnot.net> <0bab4850-fbe6-a318-71b2-a0e89a74ae74@gmx.de> <98A30D03-556A-4163-AE6B-E79760D34B2B@mnot.net> <cdbb5212-6928-39c7-de90-b9c643949057@gmx.de>
To: "Julian F. Reschke" <julian.reschke@gmx.de>
X-Mailer: Apple Mail (2.3445.104.8)
Received-SPF: pass client-ip=66.111.4.26; envelope-from=mnot@mnot.net; helo=out2-smtp.messagingengine.com
X-W3C-Hub-Spam-Status: No, score=-6.4
X-W3C-Hub-Spam-Report: AWL=3.435, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1hM4u1-000652-0t 72e73f7e5b8e0ae53b9b1c8d1f9c3111
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Structured Headers: URI type (#782)
Archived-At: <https://www.w3.org/mid/93A7186B-0357-4D8F-91CB-26D1290C483B@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36574
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On 2 May 2019, at 3:58 pm, Julian Reschke <julian.reschke@gmx.de> wrote:
> 
> On 02.05.2019 07:45, Mark Nottingham wrote:
>> Could you explain why it's compelling?
>> 
>> It's already possible to map a link header to the existing data structures (there are a couple of ways you'd do it).  It's true that the syntax wouldn't be identical to a Link header, but that hasn't been a goal for other parts of SH; in this sort of situation, we've assumed that some mapping function would be necessary (e.g., negotiating to send the new header as SH-Link, or some other mechanism).
> 
> I understand it was not a goal, but that doesn't mean it wouldn't be
> nice to get to that as closely as possible...

True. It just seems like a poor tradeoff for just one header field.


>> I'd be much more supportive of doing a URI type if we could get agreement for *and* implementation of a common data model for URIs in SH. However, it appears that there's disagreement about that; browser folks want to reuse the WHATWG URI specification (which is sensible, from their viewpoint), whereas others don't like that spec. Exposing it as just a string doesn't seem to add much at all.
> 
> It indeed just adds a new syntax (no processing model is needed, true).
> For URIs, it's kind of nice as it uses a delimiter that can't be used in
> URIs anyway.
> 
>> We could talk about this a lot more, but I suspect it would take at least a few months to conclude the discussion. I'd rather ship the spec; if we can agree on a new type down the road, we can always add it with an update.
> 
> That is true, but then updating both spec and implementations is always
> more work then including things from the start. It's a trade-off.

Of course. To me we're at diminishing returns here, and the friction against adding a new type later is pretty low (based upon the experience of building this set of types so far, in the spec, implementation, and tests).


> From a practical point of view, would you expect the spec to be
> replaced by a new one, or should there be an extension point/hook so a
> delta spec can be written?

I'd think it'd just be a matter of writing a spec that updates this RFC, defining an abstract type along with its textual parsing and serialisation algorithms. The biggest concern would be making sure that the first character of the textual serialisation identified the type (not a hard requirement, but it's the convention we've been using so far, so it'd need to be a good reason to break it, I think). In this case, that's pretty clearly "<".

Cheers,


--
Mark Nottingham   https://www.mnot.net/