[httpapi] Re: Link Hint 02 feedback

Darrel Miller <darrel@tavis.ca> Sat, 01 March 2025 17:22 UTC

Return-Path: <darrel@tavis.ca>
X-Original-To: httpapi@mail2.ietf.org
Delivered-To: httpapi@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id D9E9B48712F for <httpapi@mail2.ietf.org>; Sat, 1 Mar 2025 09:22:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.796
X-Spam-Level:
X-Spam-Status: No, score=-1.796 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_SBL_A=0.1] autolearn=no autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=tavisdev.onmicrosoft.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C4rBtqzcqrZs for <httpapi@mail2.ietf.org>; Sat, 1 Mar 2025 09:22:52 -0800 (PST)
Received: from SJ2PR03CU002.outbound.protection.outlook.com (mail-westusazon11023139.outbound.protection.outlook.com [52.101.44.139]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 0F4F7487124 for <httpapi@ietf.org>; Sat, 1 Mar 2025 09:22:51 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=P3MXiJ5UdFRb/ipBVOnq8CRoJ04nnPMBrlTR30QCgrUjx08Giz9iscGu1svw3T1zrnMVFGug+XgT7fqk+vZvPvmME1CcFGiEaMHSxLTdSQ2aj/NnmLPMudFP6xj/GdIb3odSrTP4eV+5yQRuNL66gaCxtnJuMEuKVwjFksig1VRGBMktBYuXIuPpA/cnNKjUVERS8OvvsC3SGh/QJpRCa0xXiYxaIu8DnKnGSkRV8BY91TunTLtOOpMFfKec/7OH2icPPhp3BQ8MAZBzCdVxQbDRiEOkndHiu43RB6tddbCzhcaQ4jxU8tj9YR22q92Ljd/D9tf86YqnpX2xjlOhBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Gn9isSuNOzWdn5xpTLxwTt2hBkVtJ3eOMhfJ0mj7gPI=; b=C5C2MFV7OWyv9sfb2z6ulRQuXupn7qp/X0SuE+YN7Lr0KpO1SDRSnGsOQAPHl29S9nfswWk1Zcwl+P0RbQI4TcwJNPZQxS9sV9Oa01ZrnWIq9inIpDI0NEz4O5xsQmgemXdyHEojVIpQFhelt9/4g2/ECvvkBSRNbnr/5JmUThFgYzpScw/NjpNmMWGkA+PtjSdzCjTKCEXlSiWhL5ANB9yHRoIo8Xr8xPh+7b79aPTCe0bTxqMaMvFxxmNfLvOCAKNv4JrTF6g6w0Zh/8hU5H+854N5FvvdgPZCKAxBlMU9sNSOWVkc6TNcIQPgogjBcygOJAUjorz4voi56Hyu0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=tavis.ca; dmarc=pass action=none header.from=tavis.ca; dkim=pass header.d=tavis.ca; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tavisdev.onmicrosoft.com; s=selector2-tavisdev-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Gn9isSuNOzWdn5xpTLxwTt2hBkVtJ3eOMhfJ0mj7gPI=; b=QwRizGxKlJUeU0plVxPIJhc8+ZqxM3AY2yhs82CSaMUCDGa9uA2Jckt5wUKp5g42KeLzeQxDJXnok75I3uAkK2bC4JxTRXW4/bLa5KTNPVYGcKfDOZ1Tv0IqYGPB5dlkPJurNEkHBZX1gFq8xmaAX/NhwmKruHVBUAXgnHMTrAc=
Received: from SJ2PR01MB8102.prod.exchangelabs.com (2603:10b6:a03:4fd::17) by SJ0PR01MB6221.prod.exchangelabs.com (2603:10b6:a03:295::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.25; Sat, 1 Mar 2025 17:22:47 +0000
Received: from SJ2PR01MB8102.prod.exchangelabs.com ([fe80::d952:e672:d6cd:458f]) by SJ2PR01MB8102.prod.exchangelabs.com ([fe80::d952:e672:d6cd:458f%2]) with mapi id 15.20.8489.025; Sat, 1 Mar 2025 17:22:45 +0000
From: Darrel Miller <darrel@tavis.ca>
To: Herbert Van de Sompel <hvdsomp@gmail.com>, Mark Nottingham <mnot=40mnot.net@dmarc.ietf.org>
Thread-Topic: [httpapi] Re: Link Hint 02 feedback
Thread-Index: AQHbiCXwN0WkUMlyOUC7iy0r4vaeFrNZbzCAgAAQuwCAAN3ngIAAq+WAgAOAvCI=
Date: Sat, 01 Mar 2025 17:22:45 +0000
Message-ID: <SJ2PR01MB810255984E8C120CA006B406A3CF2@SJ2PR01MB8102.prod.exchangelabs.com>
References: <AF875164-4064-4AD0-8DBA-92869D18AEF3@mnot.net> <0C580CFF-982C-44C5-A255-768FF48AEC93@gmail.com> <PH0PR08MB98621DFB70D95937C06C9958B7C22@PH0PR08MB9862.namprd08.prod.outlook.com> <878DEFA7-8631-4055-83AB-B09B27B3B1AE@mnot.net> <CAOywMHcSFyVQVZETHBAGe_5gCsxpHoDuy7Z0Mw0B9sjTNwsvjA@mail.gmail.com>
In-Reply-To: <CAOywMHcSFyVQVZETHBAGe_5gCsxpHoDuy7Z0Mw0B9sjTNwsvjA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=tavis.ca;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ2PR01MB8102:EE_|SJ0PR01MB6221:EE_
x-ms-office365-filtering-correlation-id: 1370d1a3-a6cb-48dc-2097-08dd58e5ae48
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|4022899009|366016|1800799024|376014|38070700018|7053199007|13003099007|8096899003;
x-microsoft-antispam-message-info: x6hSGDqdZO7aWvc0AFZwphFbeesUcOPybCwzTOWgj5xXc43N7/fELJY2ELGuMxjfj9QgNuqu6hcOv60YYdIkIIgw8Sfy/9RjsTYgTYS6CVfF65ifaOt5eGZ9ZP6id0G+5UrCj74pcHPCwdqHihRbeLDigKEemf6agNX9EMGtfFXJszaQWImI/U/w0u0W1/eXLWUGGusRYZu2BdBzsZRkx5t9jkGR5yM0hjgpFF9zrTsOwFW3zmtfgURxnks21dMeONcE8Rgl1TOO+19ftoB1k5un5M81LMnSH5r2GsyQ5cH5Cn/x0iBzxGyvmfpdhvfSRZCyVRhhI8xn73v/ErlHTrDZLBBcRfhg4FJQbvG2ZF1s3Ja3eUADW+6s0Io+KqERiTf1pV3YcwsYJL5kjSlOBN9XZG84hGNvPnaon0l6KDDMydb+SdaRGjIrs7s0ERnOA98tHS6FF8JRoXXEMnLK/fbNHyZivxyBmY1gHoCunLxSXNGZ5xyeZh7bpn4kWYGUxcw+l5LyOWHqaXbSTMba/YyQ7vih9WYBTCVKrHexDhqLaYNqxoC7zqDE172zA0djTrcsRyYz7T18Kp8eITLNNhIGIOxVmwvzvc2Si/ritBxE77rlKG7VkplyXOHJ/IJZpLD18CBjI0BZ2meRBYzwG8n7tH5LKwzVMbqDOVghcoGZmZW+UcDKS+n6M9l66eaSMPLxOtCMPEid/GEH690hHdEsiuHcgav5gZw2Vj5vyNLGhDqLw/1tqIte43X9UdarakWDwGqv58rt3KhJqRzHaZv4MmZ1UC7ovcn6n8W9CJqPhI+F3I7tlblziVyjqugC7mdjMVwk+5HzNLJ9TwefUw9hvgN53F/R/7dZMgEaOA0z9euOap5PkTU131n4z7K5vToX+ShWNPXtG916zO1NoadtiQbg8QDBmbxjt4Rt3CTUwuisJz1KOvkpbUm0GaSGMZdhe3xbVRik5vCKljLoJex3CjNbx+1OryYVXg+NvCjc8Q10gnl0yALSWa+CQv4plkfX3ICJeqTa+CPWL0rr+IpeADb4U1yGRoXub3InEzWGI12XRDoIo5rFdjY92j1nSPdOM0+Mn9hRV5JpyZqgJjOnKufXRcnlhWZsn6fHrV5RCBQPE2QpLXc8iiKNoeaQJMkKtuakuL3xsTlDNyNem+qCXxkbwBoyzLYHVjuSyeNpao+SCKjsNMR3ZdnkeuRe6dha5Ix+SVUhdXUZ8/9mUOYJ/XG7+IpNREBhUfRyPJ/NJ4IRTWL3C3eLoSw2zHzlrkhWfcoLAwMDFmkwPPaVU7UhQ8lp44vbHzlHSU5JMPgs0/pPo62bHB0FJNccCAqSeU6ZVE7AWFSfk4slOpJe4JPF+Q/eoxBerQSoo0pCyi2nw77YDzyDQWx3Ms1EtM9G
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ2PR01MB8102.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(4022899009)(366016)(1800799024)(376014)(38070700018)(7053199007)(13003099007)(8096899003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: BZnXugOG7vGoNavLdxzZPKgDgoNyM+V+hnKas9VTpsXOaedaGUlV1IMGUTcWjOhWdi7kwaxp76mGvGaDixvIw17V+gLOhdwcoM3JNZPfoO/wOn4RENbQKuG2S/k5uHosnwBXurEda5jYfJJ61Lv1834JOLUFa89qNo6+ho0vrvO9YbuTltqeSz+8Q5Jf64LUhc1L+fHxx8l/ALTOoJU4o2AoPNVKysJzIb0GaIRST5igvOJZwh74jak5DDActST+3rduxowpmVrU6E58FImIni8TplTXsyXIcp01Cb1sd3A5FDobmsyeKzPeguUh26tTKuCrgG+n+tJjnVF0fr77rFMJ/+ekaO7RohNfMesrySQYh6bMAZUUQZYQWNjxJPQLTTFm9kMCDrvffZxBQNi9HNijyA89Wo0VIxNVvkQStXmC9V3MaBdZxPu/zz1AcdnofkMc5mfuRkrb7hwx8ypgwBOapVO6dJ+ZjmHhuUiDbRZSMhVdAi+LBfBDY2RaJrFpWAf+yqZG1fzHxAsSgspscBc77FR+0OOFlaXlYRQ1m3d+yDHp4h3gwO2mt6WlOfH0mJOp7rXnUCdKbojG1596TREJnlFLQfDcAnt6jpbO+RshXIQ9wE6xCFXYnAwNJia71X5FV9WO6b8yDmX1KJ4+O5HEMHOYgW9j3xqT4u6E95sCvmphinilRI+oKNnR71wTDLodTlBFW47dyTcg5rnIkMvHNLSZ0j/cEzbmS/phyt2R4qWG6+DUt2YDrFsVv1V97nLe7DgM0U/L7SlYCS/jdo8HLjwWcMBl/z4MRlKMXKix61X6TU7ZGf5l7RIi7dkL1ixiS+2FKCJbmlJ0qck3CePQUKC8/CZh138mIMlq5UxVPsUNd9HL4ogfmmmM6C8mb8L4y8S4tX/JACbl4mf+BSO2X4dPBWiZAEFkRHcUDvA0lpj6GgGuTKeStC5afwnhZsrnUct4W8qmdiOG4czjJpF4NR83rkGzwjaTT3Nab47jTNm+09F7OiFxydUZ+HYZJCRYiyDyQGNGWYexJQldIorgiXAcG6Ll83Tcw4ZMZdbQ72+Ix7Z+T6LOrrvzukrA/6ECXbktG+lPLIyN6orimm4WqJr7QUe7Ta++RxgAcH0RmglBS4389MdNzCDvtGEYz0wO7SwHLxp+Ew9DE4B03Ukb5E4IrceaHVTPEusUeP4yfDjzDoRm53rhKDycQYXfKq5hq38guJ2hoKbDWwehSQ/31JUFbjM/zFPIQdMrtlFldZpgU01xkgQTg3izCRA74mT3oZd3QZs3ahVLr7dTMLjU8s9xslBrEfFf/zOVi/Q/Q7LmXu+yySj4EZFNirlzalvtXkt0y2okjy8v/9AZqcalLNuEcKujlD+SuOy5Oa50CgabiQi7e+ohZOol/MXkKC+lYucsFBwc1qXsMqPUSK/uFVPwTgMEm1JOFOaWlzow0v6uQ0asHTyPdyo4U22TExWmJJFXEvQbZvLBHDTWk4q4AHajy72ELQQaE/fnUog157vd5ei4eY/OZaBCcagaEESoEtylpQ9kfW//dAiOaJ9Yunw7smNT3s0zPrAu/Qg=
Content-Type: multipart/alternative; boundary="_000_SJ2PR01MB810255984E8C120CA006B406A3CF2SJ2PR01MB8102prod_"
MIME-Version: 1.0
X-OriginatorOrg: tavis.ca
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ2PR01MB8102.prod.exchangelabs.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1370d1a3-a6cb-48dc-2097-08dd58e5ae48
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2025 17:22:45.1120 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 8cea02ec-9788-4bac-a19b-3e782a3e9bb0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: jweCANMgmoXjlW+g1zGk5YHSpHE2lCzrY7y4N2TmiwpcRziVWqDO6YZA9/xeODXs
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR01MB6221
Message-ID-Hash: WUD3EPJL4HGM6IWO4WR5NB7BYXJMFUJ7
X-Message-ID-Hash: WUD3EPJL4HGM6IWO4WR5NB7BYXJMFUJ7
X-MailFrom: darrel@tavis.ca
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Phil Archer <phil.archer@gs1.org>, "httpapi@ietf.org" <httpapi@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [httpapi] Re: Link Hint 02 feedback
List-Id: Building Blocks for HTTP APIs <httpapi.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/httpapi/_46YlnjnvMXcgWHC8yzktUsAbpQ>
List-Archive: <https://mailarchive.ietf.org/arch/browse/httpapi>
List-Help: <mailto:httpapi-request@ietf.org?subject=help>
List-Owner: <mailto:httpapi-owner@ietf.org>
List-Post: <mailto:httpapi@ietf.org>
List-Subscribe: <mailto:httpapi-join@ietf.org>
List-Unsubscribe: <mailto:httpapi-leave@ietf.org>

Herbert,

> we have asked whether HTTP API WG would be interested and received no helpful response

In the Google doc you referenced, you mentioned this email from me Re: [dispatch] HTTP profile negotiation -- implementation evidence (was: HTTP profile negotiation - httpapi?)<https://mailarchive.ietf.org/arch/msg/dispatch/5gj5RWakDt-XbbsYjtLtn84sHBM/>

I just want to reiterate that was an individual opinion without a chair hat.  If there is support from participants of the HTTPAPI working group to work on this effort, I as a chair would be fully supportive.

Darrel
________________________________
From: Herbert Van de Sompel <hvdsomp@gmail.com>
Sent: Thursday, February 27, 2025 6:44 AM
To: Mark Nottingham <mnot=40mnot.net@dmarc.ietf.org>
Cc: Phil Archer <phil.archer@gs1.org>; httpapi@ietf.org <httpapi@ietf.org>
Subject: [httpapi] Re: Link Hint 02 feedback

On Thu, Feb 27, 2025 at 2:31 AM Mark Nottingham <mnot=40mnot.net@dmarc.ietf.org<mailto:40mnot.net@dmarc.ietf.org>> wrote:
Hmm. RFC 6906 defines the profile link relation, but AFAIK there isn't any way to communicate this in HTTP. Since the scope of this effort is *HTTP* based hints, we should probably define how to do that first.

I think the options are:

1) Just use the Link header field
2) Put a parameter on the media type
3) Define a new field

(1) is problematic because it requires modelling all possible links as hints, and that adds complexity that we're trying to get away from. Web linking is great if you need to have integration between links expressed in content and headers (for example), but for protocol-level details (such as something you might use for lower-layer dispatch, like a media type) it really should be a primary protocol mechanism, not something buried down inside a generic mechanism like this. In particular you don't want to force someone to parse all of the links on a response just to get one bit of information out if it's on the critical path.

(2) is problematic IIRC because it's effectively usurping individual media types' ability to control their own name space (would have to check with the media type folks to be sure) and parameters are stripped/dropped by some software (still?).

That might just leave (3). I know that <https://datatracker.ietf.org/doc/html/draft-svensson-profiled-representations> started down this path; personally I'd go a bit further and a) define a Profile header rather than reusing Link, and b) making it a Client Hint (since we have that now).


I am involved in the Profile Negotiation I-D which, honestly, is in limbo because:
* It is unclear where the specification should occur, IETF or W3C:
- we have asked whether HTTP API WG would be interested and received no helpful response
- there exists a parallel W3C document that has a broader scope but, as it comes to the scope of the I-D, describes to a large extent the same approach be it more as an implementation guideline than a spec: https://www.w3.org/TR/dx-prof-conneg/
* my co-authors don't respond to my mails anymore; I assume they are discouraged
- for those interested, additional background about the Profile Negotiation I-D history is at https://docs.google.com/document/d/1WUGML4cfthRBKzMW729thjlCZjPWku__IjEjdNWq9pU/edit?usp=sharing

But, going back to Mark's response to Phil's mail:

* Indeed, the I-D chose to express the existence of profiles available for negotiation by means of the Link header (using the "alternate" link relation). The major motivation was reuse of an existing header rather than introducing a new one. Using the Link header, an approach is needed to express profiles for media types for which the "profile" attribute has not been defined. And landed on the "formats" Link Hint. But, since it is not clear how Link Hints need to be serialized in a Link header, that aspect of the I-D has been in limbo for a long time now.
* Using a dedicated Profile header (symmetrical to Accept-Profile), as suggested by Mark, would be an option but I think it would run into the same problem as the Link header approach: It would need to list available media-types and their associated profiles. The question then becomes which attribute to use to convey profile URIs: (a) "profile" for media types that have defined that attribute and another (e.g. "formats") for those that haven't? (b) another (e.g. "formats") in all cases, i.e. also when "profile" has been defined. Quite inelegant either way.
* Note, BTW, that for media types for which "profile" has been defined, negotiation using Accept also comes with challenges and led colleagues that work on JSON-LD to look at Profile Negotiation as a way out, see https://github.com/w3c/json-ld-syntax/issues/436

Cheers

Herbert



Cheers,


> On 26 Feb 2025, at 11:15 pm, Phil Archer <phil.archer@gs1.org<mailto:phil.archer@gs1.org>> wrote:
>
> Thanks very much for working on this, Mark. I can see the potential in GS1's implementation of RFC 9264 (Herbert and Erik W's work on Linksets).
>
> An issue that has been around for a long time is that a media type is often only half the story. An application will typically want content that is serialized as, say, application/json, but it wants JSON that uses a specific vocabulary/data model. A hint of 'profile', that takes a URI as value, would probably be sufficient for this? Then a service can offer links to the same data (I'm thinking product descriptions but could be anything), following  different data models, all of which are serialized as JSON.
>
> Phil
>
> ---
>
> Phil Archer
> Web Solutions Director, GS1
> https://www.gs1.org
>
> https://philarcher.org
> +44 (0)7887 767755
> @philarcher.bsky.social
>
> -----Original Message-----
> From: Herbert Van de Sompel <hvdsomp@gmail.com<mailto:hvdsomp@gmail.com>>
> Sent: 26 February 2025 11:15
> To: Nottingham Mark <mnot@mnot.net<mailto:mnot@mnot.net>>
> Cc: httpapi@ietf.org<mailto:httpapi@ietf.org>
> Subject: [httpapi] Re: Link Hint 02 feedback
>
> Hi Mark
>
> Thanks for the helpful clarification.
>
> I’m totally ok with simplification too. As you indicate, it’s about “hints”.
>
> Greetings
>
> Herbert
>
>> On Feb 26, 2025, at 09:08, Mark Nottingham <mnot@mnot.net<mailto:mnot@mnot.net>> wrote:
>>
>> Hi Herbert,
>>
>> This draft is a transitional step away from using JSON as the base data model. What I'd like to do is to use a subset of JSON or Structured Fields data types, and then describe how to map them into another format. What I've done here is to start that process by removing the most complex structures (objects).
>>
>> It'd be helpful to know how people feel about this -- especially whether the constraint and loss of information is acceptable. Personally I'm OK with it, since 'hints' shouldn't be too detailed (IMO).
>>
>> Cheers,
>>
>>
>>> On 26 Feb 2025, at 6:53 pm, Herbert Van de Sompel <hvdsomp@gmail.com<mailto:hvdsomp@gmail.com>> wrote:
>>>
>>> hi all,
>>>
>>> I was happy to see the publication of a new version of the Link Hints I-D. I do want to share some feedback:
>>>
>>> (1) From the outset of this effort, I have failed to understand the motivation for making JSON the canonical serialization format. I assume that boat has sailed but think that the draft would benefit from some extra wording to make it more accessible to those who are more familiar with HTTP/HTML links:
>>>
>>> (*) Given there is no formal definition of the canonical JSON structure for Link Hints, a description of the opening example provided in Section 2 would be helpful for those less familiar with expressing links in JSON.
>>>
>>> (*) Since Appendix A describes how JSON Link Hints are mapped to links in the HTTP header, it would be helpful to represent the examples provided there in a verbose manner that aligns with the opening example of Section 2:
>>> - this would allow understanding where the rel="sample" comes from in
>>> both examples
>>> - this would allow understanding how the content of the second example relates to that of the Section 2 example. That is really not obvious to me, because the content of the second example is contained in square brackets that I can't seem to map to the opening example.
>>> - use of a more realistic/intuitive complex example might also help.
>>>
>>> (*) It might be nice to include an example/appendix regarding representation of Link Hints in (JSON) Link Sets.
>>>
>>> (2) Section 5.1 lists some reserved names. Should "anchor" and "title*" be included there? It looks like title* would not be allowed on the basis of the restricted character set for Link Hints but maybe being explicit could be helpful?
>>>
>>> Greetings
>>>
>>> Herbert
>>>
>>> --
>>> ==================
>>> Herbert Van de Sompel
>>> https://hvdsomp.info
>>> https://orcid.org/0000-0002-0715-6126
>>> --
>>> httpapi mailing list -- httpapi@ietf.org<mailto:httpapi@ietf.org> To unsubscribe send an email
>>> to httpapi-leave@ietf.org<mailto:httpapi-leave@ietf.org>
>>
>> --
>> Mark Nottingham   https://www.mnot.net/
>>
>
> --
> httpapi mailing list -- httpapi@ietf.org<mailto:httpapi@ietf.org> To unsubscribe send an email to httpapi-leave@ietf.org<mailto:httpapi-leave@ietf.org>
>
> CONFIDENTIALITY / DISCLAIMER: The contents of this e-mail are  confidential and are not to be regarded as a contractual offer or acceptance from GS1 (registered in Belgium).
> If you are not the addressee, or if this has been copied or sent to you in error, you must not use data herein for any purpose, you must delete it, and should inform the sender.
> GS1 disclaims liability for accuracy or completeness, and opinions expressed are those of the author alone.
> GS1 may monitor communications.
> Third party rights acknowledged.
> (c) 2020.

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

--
httpapi mailing list -- httpapi@ietf.org<mailto:httpapi@ietf.org>
To unsubscribe send an email to httpapi-leave@ietf.org<mailto:httpapi-leave@ietf.org>


--
==================
Herbert Van de Sompel
https://hvdsomp.info
https://orcid.org/0000-0002-0715-6126