Re: I-D Action: draft-ietf-httpbis-client-hints-03.txt

Martin Thomson <> Wed, 14 December 2016 00:35 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 63A9C1297CD for <>; Tue, 13 Dec 2016 16:35:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.397
X-Spam-Status: No, score=-9.397 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_SORBS_SPAM=0.5, RP_MATCHES_RCVD=-2.896, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 4-ahmc_BtlGI for <>; Tue, 13 Dec 2016 16:35:10 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 8ED91129489 for <>; Tue, 13 Dec 2016 16:35:10 -0800 (PST)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1cGxUB-0001jZ-1C for; Wed, 14 Dec 2016 00:31:55 +0000
Resent-Date: Wed, 14 Dec 2016 00:31:55 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1cGxTw-0001fw-B1 for; Wed, 14 Dec 2016 00:31:40 +0000
Received: from ([]) by with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <>) id 1cGxTq-0003pH-Dd for; Wed, 14 Dec 2016 00:31:35 +0000
Received: by with SMTP id n204so3803426qke.2 for <>; Tue, 13 Dec 2016 16:31:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=JB3ZziFJVKmgQglpzgcC/2TwCcYem7a7bzHV8clqykM=; b=gf1ykxHuuK1RAwtR2Yj3752zbldPi5MJnHBC5WKnAtvjgHeNVgEgIYsi2w+yYhuKAa LBtCobRSxEH2Vb8dCIHboZjFLkWkvGyOa3MMiesrS5B24S0Mn0WeDT9bZGMLDAzPyJOB y7GRUzIZ8nVkF7d4thgQpc7OPsIBvcD5B8742NpMVYutQ3IvQy3D/2bxIozbUJ2Pomse idOYc2WC/KCh/bemyJfTeS/B3uLuhnEEJEUaHQBSUS5tAQLghmgeH9uCibcw1/TGtBwd 2MdVP2SqWcFPzbO0/EcAndobwJpYUOAYCWHAK+oX5B5/C5+oVP3wU5oOuGZsnBEEkjUD 19Vg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=JB3ZziFJVKmgQglpzgcC/2TwCcYem7a7bzHV8clqykM=; b=ck2xttnUi5FSAdaMbjssrNizFAtDSCfhfos2LVL+CGMAqKoxRSTnpK3dTYjszLjUMT YswV67E6XJDp7ruf2QRefYJ0A4eu1D7pAMcH5XK1hTY1bsq5OwEa5HzAZgWSGBs3tr7r TXu6NRUqqZWLszNCcmMq4jtHkTI7AK++cSj5E/QHeNvzPKMJzUfJ97e6A9KIQlcKPPyP QmuKkKn1m9vEI2KRc5ZO97ftJ+syLFdCOrY6mWVDz0i1cHpyV6hpIlV8vA/+Rinzmpg+ oRB2avH+tMZcfYxbqg4qJyMQLaC3NgwS2PP7KMbDlgjiMRMh/baytJHvyBL0qhUyXnDG J/kA==
X-Gm-Message-State: AKaTC01V/NXhCrQwwV42ste+TvymYZtQ92+/puxY2CeTX016U6JnilagxhdydVwRqTDAHjbBi9AJOjDlnhGW8A==
X-Received: by with SMTP id x1mr92673079qka.316.1481675468523; Tue, 13 Dec 2016 16:31:08 -0800 (PST)
MIME-Version: 1.0
Received: by with HTTP; Tue, 13 Dec 2016 16:31:08 -0800 (PST)
In-Reply-To: <>
References: <> <> <> <> <> <> <>
From: Martin Thomson <>
Date: Wed, 14 Dec 2016 11:31:08 +1100
Message-ID: <>
To: Ilya Grigorik <>
Cc: " Group" <>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-6.1
X-W3C-Hub-Spam-Report: AWL=0.099, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1cGxTq-0003pH-Dd ea2441a029b323e7739aec8dbb7878df
Subject: Re: I-D Action: draft-ietf-httpbis-client-hints-03.txt
Archived-At: <>
X-Mailing-List: <> archive/latest/33173
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On 6 December 2016 at 08:51, Ilya Grigorik <> wrote:
> Background:
> We didn't intend Save-Data to be a list.. The goal was to allow attributes
> on the single token defined in CH. I'll defer to Mark on Key.

Whether you have a list or not, Save-Data has some odd semantics when
it comes to extension.  How do I model the following variants?

Save-Data: on
Save-Data: on;video-only
Save-Data: on;exclude-video
Save-Data: on;compress-video-more

Assuming that the extensions are not understood, we end up in an odd
place.  I see several conclusions:

1. unknown extensions are ignored
2. unknown extensions can only increase the amount of compression; and
are ignored otherwise (see compress-video-more)
3. unknown extensions cause the entire clause to be ignored

Option 1 seems to be what we have right now, but that doesn't give a
client any way to request selective compression (the
video-only/not-video example).

Option 2 might allow a client to request more aggressive compression,
but it does nothing to address the case where a client wants video
compression, but would prefer not to have images degraded by

Option 3 might be combined with a comma-separated list to allow
clients to provide a fallback strategy.

There's also probably something more complex as well.