Re: Broader discussion - limit dictionary encoding to one compression algorithm?

Poul-Henning Kamp <phk@phk.freebsd.dk> Tue, 21 May 2024 16:42 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=ietf.org@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 562B7C1D621F for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 21 May 2024 09:42:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.751
X-Spam-Level:
X-Spam-Status: No, score=-7.751 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=w3.org header.b="M50kqrAB"; dkim=pass (2048-bit key) header.d=w3.org header.b="pocIvHqj"
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 dN_J7oQvBNph for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 21 May 2024 09:42:17 -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 103D3C14F614 for <httpbisa-archive-bis2Juki@ietf.org>; Tue, 21 May 2024 09:42:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:Date:Content-Type:MIME-Version:References:From:In-reply-to:cc :To:Message-Id:Reply-To; bh=1wqSwjMdzFYbcmmNWBv3otirj3T1qzI3AsHzA7O9eOE=; b=M 50kqrAB8MqYQDGslk96/9P0CChpQCvs4xqZDj6Dg5j3LbwCtsvzpRzpI2J80lgVU8jxjeGC9gf9h5 szzapL6isdcDAMmkUuY/RNspCkJ8L0v8igmnkg3Ryqe6vsnlcwTzrtfy/wzW7BhnPkK6qxmoineaP aZK/zzIkj3DTE6I+yhpKYX3quxKxyynWAMrmpFgfI9b3wlQlF3uiiX0UWJtvzFehGkPtfMe1ev8YT XuMP9h0alCZwZlOMEi2HBz/k0nYI0X68xiWdKUYOLEYWu+yET2XD4dUViOFYG/uuNfzyga3zvEtbB eTrvBKYdl1S0kh0WoHX+nojin1ynfRHlw==;
Received: from lists by mab.w3.org with local (Exim 4.96) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1s9SYa-00FJVK-1S for ietf-http-wg-dist@listhub.w3.org; Tue, 21 May 2024 16:41:44 +0000
Resent-Date: Tue, 21 May 2024 16:41:44 +0000
Resent-Message-Id: <E1s9SYa-00FJVK-1S@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 <phk@critter.freebsd.dk>) id 1s9SYY-00FJUG-2E for ietf-http-wg@listhub.w3.internal; Tue, 21 May 2024 16:41:42 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Date:Content-Type:MIME-Version:References:From:In-reply-to:Subject:cc :To:Message-Id:Reply-To; bh=1wqSwjMdzFYbcmmNWBv3otirj3T1qzI3AsHzA7O9eOE=; t=1716309702; x=1717173702; b=pocIvHqjR1h+k0WTHVF2JEntkkgCXKkaycdhgvl4hPnqVpA WUw5tKnEoB25kH7D3wY8JvuNzH6szewZ1UPYy6nNFhkdI9O2UreIMJ4/8Rc3JQJuzofiHWWJpT+DW Dr8RyOvETPiUmzSr3JYsRx+W47qmsNiFCwLwy19m3n5xmkp6hSI95r17PKEvvEQ7byAYqiMxvwIrS AB8VrFp/VTBvoth9yOTwmNtRd/HzS1/jKZe8BGWLLsbPWM8TzyaPOQHa0SDcpuKzqx7Tv06Sjigrv 5NTosXoz5JsZ6Ek20bBYdaaEabj0vy8GVRRt1ENGpTG6ENkCxeDWoBvv52eGHWpg==;
Received-SPF: pass (pan.w3.org: domain of critter.freebsd.dk designates 130.225.244.222 as permitted sender) client-ip=130.225.244.222; envelope-from=phk@critter.freebsd.dk; helo=phk.freebsd.dk;
Received: from phk.freebsd.dk ([130.225.244.222]) by pan.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <phk@critter.freebsd.dk>) id 1s9SYX-006Ow6-1z for ietf-http-wg@w3.org; Tue, 21 May 2024 16:41:42 +0000
Received: from critter.freebsd.dk (unknown [192.168.55.3]) (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 phk.freebsd.dk (Postfix) with ESMTPS id 5DE1289293; Tue, 21 May 2024 16:41:36 +0000 (UTC)
Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.18.1/8.16.1) with ESMTPS id 44LGfaeZ006907 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 21 May 2024 16:41:36 GMT (envelope-from phk@critter.freebsd.dk)
Received: (from phk@localhost) by critter.freebsd.dk (8.18.1/8.16.1/Submit) id 44LGfY2U006906; Tue, 21 May 2024 16:41:34 GMT (envelope-from phk)
Message-Id: <202405211641.44LGfY2U006906@critter.freebsd.dk>
To: Patrick Meenan <patmeenan@gmail.com>
cc: HTTP Working Group <ietf-http-wg@w3.org>
In-reply-to: <CAJV+MGzjUnZZ=XFn5veOvuhVWyZNP2b9U0fxpS3UmrDC_bc_wQ@mail.gmail.com>
From: Poul-Henning Kamp <phk@phk.freebsd.dk>
References: <CAJV+MGzjUnZZ=XFn5veOvuhVWyZNP2b9U0fxpS3UmrDC_bc_wQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-ID: <6904.1716309694.1@critter.freebsd.dk>
Content-Transfer-Encoding: quoted-printable
Date: Tue, 21 May 2024 16:41:34 +0000
X-W3C-Hub-Spam-Status: No, score=-4.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DMARC_MISSING=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: pan.w3.org 1s9SYX-006Ow6-1z e3388747e615db121c44f8108aed1264
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Broader discussion - limit dictionary encoding to one compression algorithm?
Archived-At: <https://www.w3.org/mid/202405211641.44LGfY2U006906@critter.freebsd.dk>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/51953
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>

Patrick Meenan writes:

> ** The case for a single content-encoding:
> […]
> ** The case for both Brotli and Zstandard:

First, those are not really the two choices before us.

Option one is:  Pick one single algorithm

Option two is:  Add a negotiation mechanism and seed a new IANA registry with those two algorithms

As far as I can tell, there are no credible data which shows any performance difference between the two, and no of reason to think that any future compression algorithm will do significantly better.

Therefore we can have no rational expectation of getting a better future, if we add a negotiation mechanism, an IANA registry etc.

But we do know there will be downsides.

As you already mentioned, the most probable result of allowing both, is that everybody will end up having to implement both.

In this post XZ-sabotage era that is called "Twice the attack surface for no good reason" and that answers the question.

As to how to pick one:

If you think the limitations you mention are handicapping for one of the algorithms, pick the other.

Otherwise, do a quick but credible survey, and if one of the algorithms have more than twice as many /100% independent/ implementations than the other, pick that one.  All else being equal, more 100% independent implementations means more people have looked at it carefully.  But note that for instance porting an implementation from C++ to Java is not "100% independent"

If that still does not settle it, pipe the .txt version of the currently published I-D through them both, and pick the one which has most zero bits in the output.

Poul-Henning

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.