Re: [media-types] Thoughts on suffixes, single and multiple

Mark Nottingham <mnot@mnot.net> Sun, 07 April 2024 01:37 UTC

Return-Path: <mnot@mnot.net>
X-Original-To: media-types@ietfa.amsl.com
Delivered-To: media-types@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E6AF8C14F61E for <media-types@ietfa.amsl.com>; Sat, 6 Apr 2024 18:37:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.797
X-Spam-Level:
X-Spam-Status: No, score=-2.797 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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="fnvG9afv"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="StF8MQ4f"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GqwOTRbqlqxq for <media-types@ietfa.amsl.com>; Sat, 6 Apr 2024 18:37:03 -0700 (PDT)
Received: from wfhigh5-smtp.messagingengine.com (wfhigh5-smtp.messagingengine.com [64.147.123.156]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EE18CC14F5E8 for <media-types@ietf.org>; Sat, 6 Apr 2024 18:37:02 -0700 (PDT)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailfhigh.west.internal (Postfix) with ESMTP id A3C7118000AC; Sat, 6 Apr 2024 21:37:01 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Sat, 06 Apr 2024 21:37:01 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1712453821; x=1712540221; bh=z3objhQODltzJ5CrSKsaMNOyyxbano1ZPUIkAdatXfQ=; b= fnvG9afvJk4v8I7DXnzjvHzK4gAsOJxOg2DejCwJrGdCW2KDG6miHT0YgPdWsvKj bPRmwPWvqFQfcOJEs43PEHpKwwzMITC71iMwtfC+KHGnEyd2jHakfopAIEjRQbKJ nGgnbZBrXkkpN7BFSRJQaeqeNshaEbr2KX/LNJiU7m5O5yIc2WSfRKx2sFYI6ozU tg9PJgYRQjLW9/Rz+ReERK04DnKNi8hs1aVFu+2hsWAvVnYXxDroT4qVRRaj4trQ t38uP/k+aq1ZC7ANdYY/zsZ9cbE4p+WFtRYFLkm0oVF0q9lCvGrIcmgoXtIkSZ/E PQHzEUl60ew1FeMAvVxBcg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1712453821; x= 1712540221; bh=z3objhQODltzJ5CrSKsaMNOyyxbano1ZPUIkAdatXfQ=; b=S tF8MQ4fq7ErGe5Kr9omS7R1fUoBfOE0z3lHEIOQiI8uRsTkv5ph3fYq/CoUqqOyD qTDemOOaenWurQyzMkwMQcWpXlK6sxYX4JK0Psy2ATIolA3dPtDMKeA1eZhmAbrC UFZXH8Kg7ke2AHthVY2muG3735K5VCu+pRSkOfPmE2qXqp3LU8D7Svrdfl7WtHVj xmn3qfRNiSQCOqi2SOqaZo/7m/SQm16hALEvq2ZkRs5IHVOmF0XfQxqCjpEY/9lj TjzAiqq1tHZn3CNJ6tDH4e8eDSdcP3yiRZnlw5Htb/xG5+8fkLd23hGGa0ZjyKVb nU3el5kLWu9brN0foS1+Q==
X-ME-Sender: <xms:vPgRZuBCSPf6I7EM8VF7WVVjuxzAvcEoyYeCAMp9v00YI8v3sFc3YQ> <xme:vPgRZojVT2R9NLGH9eqMhCnyMwlSr8Xny31sbcgJ7WJ8lif7UV-_QdCgROIATP9uT vUz3SvylC8eF1gKMg>
X-ME-Received: <xmr:vPgRZhlzljDzh981mUsHLO_JsRcYoUraFH_nYKpHASL4lDDtcUgILs0TybzxgWT9KYH9yXtYhbxwVBGK3yJe8F-oLjHwKBVMZo-6OY5sI5ym9A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudegfedggeejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptggguffhjgffvefgkfhfvffosehtqhhmtdhhtddvnecuhfhrohhmpeforghr khcupfhothhtihhnghhhrghmuceomhhnohhtsehmnhhothdrnhgvtheqnecuggftrfgrth htvghrnheptddtgefgueevtddugfdtkeffudegveetffegjeelhfdvtedvueejteegueeg teetnecuffhomhgrihhnpehmnhhothdrnhgvthenucevlhhushhtvghrufhiiigvpedtne curfgrrhgrmhepmhgrihhlfhhrohhmpehmnhhothesmhhnohhtrdhnvght
X-ME-Proxy: <xmx:vPgRZszjZunDJkp3TI0xsYdsHvmRCyrCGjVlX9Luw-lu_49aL0oK-A> <xmx:vPgRZjQKzPWortKoTTD8q6svnqrfanWyK0eugi4dpmXch9Si3p3-aQ> <xmx:vPgRZnas4fnK-wwVVmraX-Meab1iEXgcHIbwxm6h_PmEEo2v-fMs4g> <xmx:vPgRZsQDbulilnDihgwd7EeV9f3Du94LXACMhfaorB1plJG2HnpSdA> <xmx:vfgRZhPHygdU5Mj5EsmhENGffpNQVy9YvIXOtO2VJau7iPUiK-dYDo4W>
Feedback-ID: ie6694242:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 6 Apr 2024 21:36:59 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <CAMBN2CSbxjX8GCi2E1gTwnaWNLvbNc7SWd=mStWDnj0eeZpgpQ@mail.gmail.com>
Date: Sun, 07 Apr 2024 10:36:55 +0900
Cc: IETF Media Types <media-types@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <C2B4B44B-1282-4818-9B49-01E6B67593E0@mnot.net>
References: <2E20FEDE-C766-43EE-A6E2-1FB63E79CF0B@mnot.net> <1c404c4d-437c-464a-b414-4e0d39c1d8ea@alvestrand.no> <E83E80FF-5810-4A53-85D8-E5095F9C1C1C@openlinksw.com> <837B503B-B9F9-40F7-8078-7D1BCD66D076@mnot.net> <CAMBN2CTMk8GDeUT0ObHcW=xxaRMzd75PrtWwLa_YB-4JoF_FxA@mail.gmail.com> <F58ABF0E-56F3-462B-AA00-192A75AFEE41@mnot.net> <CAMBN2CSbxjX8GCi2E1gTwnaWNLvbNc7SWd=mStWDnj0eeZpgpQ@mail.gmail.com>
To: Manu Sporny <msporny@digitalbazaar.com>
X-Mailer: Apple Mail (2.3774.500.171.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/media-types/uWn0XKU3GQnK-n0s61qHG5ziNwk>
Subject: Re: [media-types] Thoughts on suffixes, single and multiple
X-BeenThere: media-types@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "IANA mailing list for reviewing Media Type \(MIME Type, Content Type\) registration requests." <media-types.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/media-types>, <mailto:media-types-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/media-types/>
List-Post: <mailto:media-types@ietf.org>
List-Help: <mailto:media-types-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/media-types>, <mailto:media-types-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 07 Apr 2024 01:37:08 -0000


> On 6 Apr 2024, at 23:24, Manu Sporny <msporny@digitalbazaar.com> wrote:
> 
> Is it worth, as a next step, documenting the current design patterns
> without determining whether they are "good" or "bad" yet? We could
> start with:
> 
> * Syntax suffix pattern (+json, +xml)
> * Container suffix pattern (+zip, +jwt)
> * Multiple suffix pattern (vc+ld+json, did+ld+json)
> 
> I can take an action to do that if folks are supportive.

I think that's workable, and will try to help. I suspect we're going to end up with text something like:

- '+gzip' MUST be the last suffix in a media type that uses it, and the results of unzipping it MUST be a valid instance of the format identified by removing the '+gzip' suffix. That media type MUST also be registered.
- When '+gzip' is present, fragment identifiers are resolved against the decompressed payload, using the resolution scheme of that media type.
- Any suffix used to the left of '+json' MUST identify how to serialise its specific format into JSON.

And so on.

What we need to sort out now, I think, is what implications this has for the multiple suffixes draft. I tend to think that it supports the 'bag of tags' approach that I outlined earlier; that puts the fewest constraints on how suffixes are defined (so that they can define their own constraints, as per above).

We also probably want to explicitly list what things a suffix registration needs to document.

Cheers,

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