[httpapi] Re: Link Hint 02 feedback
Herbert Van de Sompel <hvdsomp@gmail.com> Sun, 02 March 2025 07:48 UTC
Return-Path: <hvdsomp@gmail.com>
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 38C694BDC69 for <httpapi@mail2.ietf.org>; Sat, 1 Mar 2025 23:48:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_SBL_A=0.1] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 6SIOlZLXocH5 for <httpapi@mail2.ietf.org>; Sat, 1 Mar 2025 23:48:18 -0800 (PST)
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id A7DC54BDC29 for <httpapi@ietf.org>; Sat, 1 Mar 2025 23:48:18 -0800 (PST)
Received: by mail-lj1-x22a.google.com with SMTP id 38308e7fff4ca-30b83290b7bso40614381fa.1 for <httpapi@ietf.org>; Sat, 01 Mar 2025 23:48:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740901697; x=1741506497; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=fZla25yqA/iMNdJOptOhOqN9+fCJ8dDv6H59sWWbWXU=; b=a+PKSOQNMAngo095Qgk4sI5b7h/kUSXlF6gKtkjeC5VohsqObs7tDvojCONWYJPL+P Wv1drOnxVEMZnbKPZkJg+rBUOf9FoEDn54hUe+5LW8TqCumXtcAGCgF4cxHC+3g5lERg 5iCUSh37zxoLLo13uEI6zxwRkCmYsHK54e9zr9SWuj/dN2tRFOOETS2yPeyohB0K5m+t PZLV2wg4Dh4bVsnd2MANn8aF4Rqx6SJU2T22bYHVmR9RO9hoHEL0yDB0mN4ak8jyEJit mn48nYT8ujFbTyxtY0WZVqdcOUbKE/WY5adPzoktCFx20o6tvHTzCras1fZ32LWrrGvu eLRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740901697; x=1741506497; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=fZla25yqA/iMNdJOptOhOqN9+fCJ8dDv6H59sWWbWXU=; b=KPeBjWrSNDYhPw1D7Yz61VjKDis9FnwU8x5+aV0OBLUsTPiNNy8sodCD9RSdc+mLaS i+JQczuTe8piO13dKdQHzPjRSeY+QqdHJe3NOuxW+vPbHT1P6vgqakJep7WNKZh6vIVm x2fT+eJkPFgD0aIJMPjDA19kAlO1WKy7LdW0hs19EklAgJ6b0pfhBULFFP4/nshAiYdM lC+UjYzFsRvau/UIjIIYRon0r0XX+/ZWqouC0I4Punbpip9h3lfG3W+pcYTnj/Uptg4r /UsEYN5IJzO7XPVFlFAPCTG980rpt62S1KsBEzX0b/rfbXACWlX93ziBqSM2YgvO4wOc w5tQ==
X-Forwarded-Encrypted: i=1; AJvYcCVyA5/Tw78PyzYCPxapsTZ+Sx2NpBMvO403L49Pn+0a+2VjfRpEKz1y9Mkj4n4ZfN8vwNlXuK5v@ietf.org
X-Gm-Message-State: AOJu0Yzb6mksc49st1v5uk5wTtx+Od2eHL/AXD6UROGcwOREp0/D319I gn+GVy7t3J56Q8RIYH01+Me/ywvEEs5Lv0yKxwh/I+6cpeMUgwgob7iKIZKKtt5UubdpiVBNj6b lf/P9NP2AW9bKPmAuOvMjJpYBlR8=
X-Gm-Gg: ASbGncs4eLJahFJTqcfvmuq9+LkuAKlS9HupHqIz8qaTS0XGFHSkx1pssIKWyoKopsL GBqLwZUsqP+fqy5kARuMFNlrzwXH+50hN9jIwuwbvyguUOSAmXe2BQ4z0p5c4i3cqxq2PT8LfdM eBuiEpN10dSYsyGiEXkLCTrf7Ueulk93Vb69kEu3zsHpb+3B/RAo1hIVUksg==
X-Google-Smtp-Source: AGHT+IFpXiTVgNC/Ho/4IDOnghFve5M/B30dwF2uWr7JJxs5z4QExFzZTqhf2d8BKIPqHJBkkpjzG1uBcYIIvsxgFyM=
X-Received: by 2002:a2e:b8d5:0:b0:302:2598:de91 with SMTP id 38308e7fff4ca-30b932357c0mr32071241fa.16.1740901696868; Sat, 01 Mar 2025 23:48:16 -0800 (PST)
MIME-Version: 1.0
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> <SJ2PR01MB810255984E8C120CA006B406A3CF2@SJ2PR01MB8102.prod.exchangelabs.com>
In-Reply-To: <SJ2PR01MB810255984E8C120CA006B406A3CF2@SJ2PR01MB8102.prod.exchangelabs.com>
From: Herbert Van de Sompel <hvdsomp@gmail.com>
Date: Sun, 02 Mar 2025 08:48:05 +0100
X-Gm-Features: AQ5f1JrWpCzE8lOgtvt-De43TbFCp4TfsOpg1bO8dP1-YmSTxV7YNznfTV70nkc
Message-ID: <CAOywMHckZ-MTUZwkHV-RL7ywLt1rGrG5MZ375SXUojLdymt-fg@mail.gmail.com>
To: Darrel Miller <darrel@tavis.ca>
Content-Type: multipart/alternative; boundary="0000000000003b1a8f062f574393"
Message-ID-Hash: QXCUFDCAHNZQV54SWZ2DV3VV5MVV2RHZ
X-Message-ID-Hash: QXCUFDCAHNZQV54SWZ2DV3VV5MVV2RHZ
X-MailFrom: hvdsomp@gmail.com
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: Mark Nottingham <mnot=40mnot.net@dmarc.ietf.org>, Phil Archer <phil.archer@gs1.org>, "httpapi@ietf.org" <httpapi@ietf.org>, Herbert Van de Sompel <hvdsomp@gmail.com>
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/8l7Gx3Sm-s18uIl1gt7BWw5LWCo>
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>
On Sat, Mar 1, 2025 at 6:22 PM Darrel Miller <darrel@tavis.ca> wrote: > 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. > > Thanks for the clarification, Darrel! I corrected the Google doc accordingly. Greetings Herbert > 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> 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> 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> > > Sent: 26 February 2025 11:15 > > To: Nottingham Mark <mnot@mnot.net> > > Cc: 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> 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> > 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 To unsubscribe send an email > >>> to httpapi-leave@ietf.org > >> > >> -- > >> Mark Nottingham https://www.mnot.net/ > >> > > > > -- > > httpapi mailing list -- httpapi@ietf.org To unsubscribe send an email > to 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 > To unsubscribe send an email to httpapi-leave@ietf.org > > > > -- > ================== > Herbert Van de Sompel > https://hvdsomp.info > https://orcid.org/0000-0002-0715-6126 > -- ================== Herbert Van de Sompel https://hvdsomp.info https://orcid.org/0000-0002-0715-6126
- [httpapi] Link Hint 02 feedback Herbert Van de Sompel
- [httpapi] Re: Link Hint 02 feedback Mark Nottingham
- [httpapi] Re: Link Hint 02 feedback Herbert Van de Sompel
- [httpapi] Re: Link Hint 02 feedback Phil Archer
- [httpapi] Re: Link Hint 02 feedback Mark Nottingham
- [httpapi] Re: Link Hint 02 feedback Herbert Van de Sompel
- [httpapi] Re: Link Hint 02 feedback Darrel Miller
- [httpapi] Re: Link Hint 02 feedback Herbert Van de Sompel