Re: Migrating some high-entropy HTTP headers to Client Hints.

Yoav Weiss <yoav@yoav.ws> Fri, 30 November 2018 10:13 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@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 3ADAA12D84D for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 30 Nov 2018 02:13:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (2048-bit key) reason="fail (body has been altered)" header.d=yoav-ws.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b7Z7AOu2F82E for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 30 Nov 2018 02:13:45 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [IPv6:2603:400a:ffff:804:801e:34:0:38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2124A128766 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 30 Nov 2018 02:13:44 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1gSflJ-0001L7-Qj for ietf-http-wg-dist@listhub.w3.org; Fri, 30 Nov 2018 10:11:05 +0000
Resent-Date: Fri, 30 Nov 2018 10:11:05 +0000
Resent-Message-Id: <E1gSflJ-0001L7-Qj@frink.w3.org>
Received: from mimas.w3.org ([2603:400a:ffff:804:801e:34:0:4f]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <yoav@yoav.ws>) id 1gSflG-0001Jv-IN for ietf-http-wg@listhub.w3.org; Fri, 30 Nov 2018 10:11:02 +0000
Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from <yoav@yoav.ws>) id 1gSflF-0002Cn-2m for ietf-http-wg@w3.org; Fri, 30 Nov 2018 10:11:02 +0000
Received: by mail-wm1-x336.google.com with SMTP id n133so5101954wmd.4 for <ietf-http-wg@w3.org>; Fri, 30 Nov 2018 02:10:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yoav-ws.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=OIjSWOIQWBErNguGc3Y3tVFfxDgYrJF3h0oiXC0d5No=; b=ua8UnN12dh+squgVL/RtTdhSuV3TCLKDAhqI3vXfwxiv6yf0J9cOnu1LklMLrx1EJ+ 9NLgDpibJy8sZ+gi0DCQEJv5EK4cgvmsqu2XGrcwnhjrzEofq6UtAHHFobtA662op3Ap 2RQ/y5RIc0JJaWIThFyBUIAfls9zW+INT8We8Qup4vPQ5Rqd/jQaOCsQGqkabDP2BInv L73woBlN4eQB+afvotB7hn1gzXuJgvMaojRDLaLlTCg8pnYwCbSXx9k9Ta23aZT1L8hW qX5W39pslGYXEtgiMrrqYZZA9A04RNyME2In66vzvX/+O6BBp/nIt9NeEyFqaW/gFXyL WAIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=OIjSWOIQWBErNguGc3Y3tVFfxDgYrJF3h0oiXC0d5No=; b=ROl7DWE1I+V5GvCa/erS06p90KfgbfYb8ZIhuO2O7C3qSL4+YvtV1cvc/2P9yW1hfO 88eUbQInJVaSFKc9Hr34DQgCEyCZjpvInu7xxyVftXIjC994iEFen018hKbQsxXok3yW zATTZ4TcCU+iqwX2fKn8LYhb9+aHY4KOeJdhLm8yASpZfgHyZM6UkYhWp/C62G48vwAX vZvfXnwEO2ErUziUY5RT9ehUhuwu1b39iYiDFcB+FodIGXjacDpQRM6kZ4jcSdpT2MG1 deXtjvxuCK1BebeEH/kV1p4D78yLXV2Azqh1GaQgrxTxd+KHn7lMirD1HI1aWfaWycuC AE+w==
X-Gm-Message-State: AA+aEWZmh8fqApjcyBAdUdwSLIhlyrLnWn1olJy7LTLkFPMR/bcqJm/f 4Foh9EuPdPYUW8Sr9Snj8CHdJ7G2RpIU/qJWCAOe0g==
X-Google-Smtp-Source: AFSGD/VJtLDe/nx8DY4/yH5MKkdYphSXf5HnyF6IsMtC3YimGQ/AjSR4N3W5Wctg1msrvGL2M8a7BdHx6v1d+UoPZN8=
X-Received: by 2002:a1c:c645:: with SMTP id w66mr5297829wmf.18.1543572639167; Fri, 30 Nov 2018 02:10:39 -0800 (PST)
MIME-Version: 1.0
References: <CAKXHy=eHiMtXi8vkDYtADHdU0tnUfd3p+Wfy7vSkLgT7cA1W0w@mail.gmail.com> <538F7C6E-EB14-4B49-B9B5-BED066E5838F@mnot.net> <CAKXHy=dhdrbB1i5d5=dXC-kz2kby3-GVwkwHESvP8uwqgrQAwg@mail.gmail.com>
In-Reply-To: <CAKXHy=dhdrbB1i5d5=dXC-kz2kby3-GVwkwHESvP8uwqgrQAwg@mail.gmail.com>
From: Yoav Weiss <yoav@yoav.ws>
Date: Fri, 30 Nov 2018 11:10:24 +0100
Message-ID: <CACj=BEhwdFCq+F3jUt49SsHFmcEj0A7uSfvU=H25-Sn2VWq1vg@mail.gmail.com>
To: Mike West <mkwst@google.com>
Cc: Mark Nottingham <mnot@mnot.net>, "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org>, Ilya Grigorik <igrigorik@google.com>
Content-Type: multipart/alternative; boundary="000000000000d7cd25057bdf0245"
X-W3C-Hub-Spam-Status: No, score=-4.9
X-W3C-Hub-Spam-Report: AWL=4.009, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1gSflF-0002Cn-2m 0f829c899903a5560d6df4d949922ad9
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Migrating some high-entropy HTTP headers to Client Hints.
Archived-At: <https://www.w3.org/mid/CACj=BEhwdFCq+F3jUt49SsHFmcEj0A7uSfvU=H25-Sn2VWq1vg@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36117
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/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On Fri, Nov 30, 2018 at 9:47 AM Mike West <mkwst@google.com> wrote:

> On Fri, Nov 30, 2018 at 1:30 AM Mark Nottingham <mnot@mnot.net> wrote:
>
>> I, for one, welcome our new Client Hint overlords.
>>
>> Personally, I'd like to see these integrated into the current CH
>> document, rather than as separate drafts. CH still needs some work, so it's
>> not like we're going to get it out the door tomorrow.
>>
>
On my list, I want to remove the specific image-related features and move
them to their own specification, with a well defined browser processing
model.
Anything else that's needed to get CH infra "out the door tomorrow"? :)


>
> These hints seem pretty clearly separable from the infrastructure upon
> which they're built. I'd prefer to split them out into things-in-themselves
> that we can point developers towards independently, giving ourselves the
> opportunity to explain the rationale and background more coherently than I
> think we'll be able to if we bury these in a subsection of the larger
> document.
>

Similarly, I'd prefer clear distinctions between "CH as infrastructure" and
"Features that use the CH infrastructure".
We've had a lot of confusion and resistance to "CH the infrastructure" due
to some of the features that rely on it, and clearly separating the two
will enable implementations and user-agents to say "I support the CH
infrastructure, and certain features relying on it, but not feature X".

>From a procedural perspective, we wouldn't want every added feature to
delay "CH as infrastructure" to advance.


>
> I'll defer to the group as to how y'all would like to handle these, but
> I'd prefer several short and focused docs as a reader.
>
> -mike
>
> However, it seems like Ilya wants to go in a different direction, based
>> upon the notes we received for Bangkok.
>>
>> Ilya, your thoughts?
>>
>>
>>
>> > On 29 Nov 2018, at 9:22 pm, Mike West <mkwst@google.com> wrote:
>> >
>> > Hey folks,
>> >
>> > Section 9.7 of RFC7231 rightly notes that some of the content
>> negotiation headers user agents deliver in HTTP requests create substantial
>> fingerprinting surface. I think it would be beneficial if we took steps to
>> reduce their prevalence on the wire, and Client Hints looks like a
>> reasonable infrastructure on top of which to build.
>> >
>> > `User-Agent` and `Accept-Language` seem like particularly tasty and
>> low-hanging fruit, and I've sketched out two proposals as proofs of concept:
>> >
>> > *   `User-Agent` could be represented as ~four distinct hints: `UA`,
>> `Model`, `Platform`, and `Arch`:
>> https://github.com/mikewest/ua-client-hints is a high-level explainer,
>> and https://tools.ietf.org/html/draft-west-ua-client-hints a sketchy ID
>> for the new headers.
>> >
>> > *   `Accept-Language` could be represented as a `Lang` hint:
>> https://github.com/mikewest/lang-client-hint is a high-level explainer,
>> https://tools.ietf.org/html/draft-west-lang-client-hint an equally
>> sketchy ID for the new header.
>> >
>> > I'd appreciate y'all's feedback. Thanks!
>> >
>> > -mike
>>
>> --
>> Mark Nottingham   https://www.mnot.net/
>>
>>