Re: Fwd: New Version Notification for draft-nottingham-http-availability-hints-01.txt

Rory Hewitt <rory.hewitt@gmail.com> Mon, 08 July 2024 22:30 UTC

Received: by ietfa.amsl.com (Postfix) id E2B16C1F5883; Mon, 8 Jul 2024 15:30:28 -0700 (PDT)
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 E1F3BC2299BA for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 8 Jul 2024 15:30:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.86
X-Spam-Level:
X-Spam-Status: No, score=-2.86 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, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=w3.org header.b="XwwsURM3"; dkim=pass (2048-bit key) header.d=w3.org header.b="mp6n6qYf"; dkim=pass (2048-bit key) header.d=gmail.com header.b="VWYzt/Oj"
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 sWfH-Xi94DMQ for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 8 Jul 2024 15:30:28 -0700 (PDT)
Received: from mab.w3.org (mab.w3.org [IPv6:2600:1f18:7d7a:2700:d091:4b25:8566:8113]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 06BFDC0708EC for <httpbisa-archive-bis2Juki@ietf.org>; Mon, 8 Jul 2024 15:30:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:Content-Type:To:Message-ID:Date:From:MIME-Version:Cc:Reply-To :In-Reply-To:References; bh=cPwCdMULP35Jeuyx3ObYl3pNA6FqzmVlzOMwuqllbIs=; b=X wwsURM3b5U2L0kMGKb7XndphCtZs4am+qswYn/S8lfEV8M7cY/xTxVJ4fenwYCbYn7YwzDhj3/2k+ 9zZMwDqAoROTnAvqm6pmXsAJwYvuzV+jmU0NplvU8xTpmqBEdimMXEr9SxqQNFr4JqqiT3wrYyldh in3euEtvRGwOYh+cnibSCfjl3F9Qwz7tUIOmb2lnS8qeeu0lD9NVcIuGB/tGTENOanUNvpqIuujam L0qfZbcezMGUO5q/xipyAISIbSy1++vUCXlzkAYXUzr2g6l/+QZL+/7xroaFopBiCrK2WrvOtgWdE e6AYeJ/V/orkPL2ujDpPhx0omPC7N2SRQ==;
Received: from lists by mab.w3.org with local (Exim 4.96) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1sQwrS-00BJOg-3A for ietf-http-wg-dist@listhub.w3.org; Mon, 08 Jul 2024 22:29:30 +0000
Resent-Date: Mon, 08 Jul 2024 22:29:30 +0000
Resent-Message-Id: <E1sQwrS-00BJOg-3A@mab.w3.org>
Received: from ip-10-0-0-144.ec2.internal ([10.0.0.144] helo=pan.w3.org) by mab.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <roryhewitt@gmail.com>) id 1sQwrP-00BJNn-1u for ietf-http-wg@listhub.w3.internal; Mon, 08 Jul 2024 22:29:27 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Content-Type:To:Subject:Message-ID:Date:From:MIME-Version:Cc:Reply-To :In-Reply-To:References; bh=cPwCdMULP35Jeuyx3ObYl3pNA6FqzmVlzOMwuqllbIs=; t=1720477767; x=1721341767; b=mp6n6qYf3IS62BA6+1N47vEWSD5rdrDSpMXiXxzBrw/2DYZ KR/AO/B+br9ZI30KLlEfXxKlUqS8TAeX4Rt7iWczHDu9RNB+E94UsNdvT/UAt1PKtqhja6cyiSJMF MM18NNUqWHoI/mih4zm7iLgP3ZQA98xPdLKzqZv+U0CtzZmOq7M87NdhnM7f/5JM1bEUN7Zsuz2YM WEnlcypVgNj7gj4Esp2gbIuXqwdKMhMRawon8yti/HBzfCd6vlnTvfMfCxKDnV8HvLV/fslx0CTI/ ah79v8JYVZO0v1d4mCzsnMsqH9In0bwqlpTY8nJz4z+Py4mJDGFRzrKL8oUZPGbQ==;
Received-SPF: pass (pan.w3.org: domain of gmail.com designates 2a00:1450:4864:20::32d as permitted sender) client-ip=2a00:1450:4864:20::32d; envelope-from=roryhewitt@gmail.com; helo=mail-wm1-x32d.google.com;
Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by pan.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <roryhewitt@gmail.com>) id 1sQwrO-006J5e-33 for ietf-http-wg@w3.org; Mon, 08 Jul 2024 22:29:27 +0000
Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-42660b8dd27so14871975e9.3 for <ietf-http-wg@w3.org>; Mon, 08 Jul 2024 15:29:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720477762; x=1721082562; darn=w3.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=cPwCdMULP35Jeuyx3ObYl3pNA6FqzmVlzOMwuqllbIs=; b=VWYzt/Ojr6bvu+BEn7px7rqPCmH0Ox7Y4bnPDxxptw7bL0kikWQX970iKzyt9I9ojc EfptCF2Snc75SSEUIpnx1K+bICawltylPrqQZ5zprjfz0mO+KmkTTkEiOYbKMhSw0pv5 AIFoFsZPYUB9A4RpPlOCsazW8lotXCzpSot3Iq8niZd972f41Hylyqj4Q3X7K2TAlIDv fhr/2szWq6C5s9gUAjBi2c4BFkPJarM9amAFc/l1MjtJGcmoH/rPeTygGWOMu4FVUMrX SNAR3p1RWAROhozpr8R1QCXsSa5DzXAwJEUEQrlUJQdu27Ses+tx2SYbqMlzHqBUrI3Y TSlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720477762; x=1721082562; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=cPwCdMULP35Jeuyx3ObYl3pNA6FqzmVlzOMwuqllbIs=; b=La6jneddyeI17WISOhWaa9PT/qZVk7OT8jRMwSJmPgL/NRpiMeYluJiQN8gDcO7Hfv ABuVXcBPT+cSXt5eHa/4YoMoCpaHL7JFfYxHQpW7+99xKlkZLuyg2fPfoyrwfUwcluT4 TBxAkHIccZbartsM87AvKCv/BAm1tcNqBm7YPe1Rb/o3jLiQhRQObnTGXRO3nBer4SlQ q6ffSx71VmzXyp9FlIdq2dcPvXCbiClp19FuiSyA+Uq5w8QBc937ajVCRFPyqRxmBv6O qTzBa1nTpBbXW8yG8iLdmv2+WYyByKPpmzcPL6cbbeS4+YzP8O7d26s48NlK+1kzBcYz GIpQ==
X-Gm-Message-State: AOJu0YyosGXeY8ukCT1pIQvVuZTWfdn9CRUc/ues9sizRbGs/PU9L5Y5 /+PoeuZlQ0PxxZ3D8TnzvwGWpKgq0yDF2NTLkv4t4lY2CUOVxccf4FJazxURUzx6DiyU3rXtjjc OStQtEOKsUooUj4hyXYSY36Ak6S8N+gX3
X-Google-Smtp-Source: AGHT+IFd3EnCHBRVBYv0NQ6PbhMVo56nfk35dcjQ4JIPbOTpddCNSO2SFbS6m0ERZtmJoEpd0JFXXs+uA808nVgwRck=
X-Received: by 2002:a05:600c:6dc5:b0:426:5b84:86d2 with SMTP id 5b1f17b1804b1-426707e32a0mr5066125e9.20.1720477761997; Mon, 08 Jul 2024 15:29:21 -0700 (PDT)
MIME-Version: 1.0
From: Rory Hewitt <rory.hewitt@gmail.com>
Date: Mon, 08 Jul 2024 15:29:10 -0700
Message-ID: <CAEmMwDwFmK_wuQg4gnjj4rbVr5Wb_m+f3MFuTXFmA7ZMCvMKEA@mail.gmail.com>
To: HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="000000000000d91516061cc3f159"
X-W3C-Hub-DKIM-Status: validation passed: (address=roryhewitt@gmail.com domain=gmail.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-5.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, DMARC_PASS=-0.001, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_WL=-1
X-W3C-Scan-Sig: pan.w3.org 1sQwrO-006J5e-33 0b2a7b8a5855e9c13f834c38f3c083d4
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Fwd: New Version Notification for draft-nottingham-http-availability-hints-01.txt
Archived-At: <https://www.w3.org/mid/CAEmMwDwFmK_wuQg4gnjj4rbVr5Wb_m+f3MFuTXFmA7ZMCvMKEA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/52054
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/email/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Hey Mark,

My primary concern with this is the possible proliferation and
over-extensibility of `Avail-*` headers.

This document includes Avail-Encoding|Format|Language|ECT (ECT is a likely
addition eventually) and Cookie-Indices, but those may need to be extended
in the future, leading to a large number of headers.

To use the example you provide in the Introduction section:

Vary: Accept-Encoding, Accept-Language, ECT
Avail-Encoding: gzip, br
Avail-Language: fr, en;d
Avail-ECT: ("slow-2g" "2g" "3g"), ("4g");d


Naively, would it not make more sense to have a single
*Available-Responses* header, like this (apologies if the syntax isn't
quite correct for structured fields):

Vary: Accept-Encoding, Accept-Language, ECT
Available-Responses: enc=gzip,br;lang=en,fr;ect=("4g"),("slow-2g" "2g" "3g")


Of course, this includes some assumptions:

1. The first option is the default - we have traditionally not done that,
and used things like Q-values (ugh!), but with brand new headers, does it
not make sense to start implementing a higher-level standard that where
multiple values are specified, they should be specified in a prioritized
list? For any given listable header, both clients and servers know a
preference order, and that should be implicit in the headers they send and
receive. Is this complete heresy to even suggest this?
2. This may be less efficient when using things like QPACK static tables to
hold 'commonly-used' header values, but I don't believe that's something
that anyone is worrying about yet...

On the plus side, it (kinda) simplifies the header size (not a big issue
with Huffman encoding and first-subsequent responses), but to me, having a
single response which specifies all the available response types is an
improvement to having multiple headers. As new response axes becomes
available, they can simply be added to the existing header.

Additionally, it can be extended to include all the 'holes' and various
axes of preference mentioned - for example, the following shows that the
English-gzip is preferred over the French-brotli version (while still
making it clear that French-gzip and English-brotli versions are available
- the preference order symbolized here is explicitly:

en-gzip
fr-gzip
fr-br
en-br

based on the parenthesized grouping:

Vary: Accept-Encoding, Accept-Language, ECT
Available-Responses:
(enc=gzip;lang=en,fr),(enc=br;lang=fr,en);ect=("4g"),("slow-2g" "2g"
"3g")



To use an example of a 'hole', if a French-gzip version IS NOT available,
you'd have this:

Vary: Accept-Encoding, Accept-Language, ECT Available-Responses:
(enc=br;lang=fr),(enc=gzip,br;lang=en);ect=("4g"),("slow-2g" "2g" "3g")

which identifies the following preference order:

br-fr
en-gzip
en-br

An English client can use *either* gzip or br (gzip is preferred), but a
French client can *only* get a brotli response. Crucially though,
French-brotli is still preferred to either English-gzip or English-brotli,
even though there's only a single encoding option for French.

Rory

-- 
Rory Hewitt

https://www.linkedin.com/in/roryhewitt