Re: No-Vary-Search

Mark Nottingham <mnot@mnot.net> Tue, 19 March 2024 06:27 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 4B6D8C14F70A for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 18 Mar 2024 23:27:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.857
X-Spam-Level:
X-Spam-Status: No, score=-2.857 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.249, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=w3.org header.b="lLRefG/c"; dkim=pass (2048-bit key) header.d=w3.org header.b="mPFOlutd"; dkim=pass (2048-bit key) header.d=mnot.net header.b="tQLT1pxC"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="KDtlWVSK"
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 tN-9MzzWk1Sw for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 18 Mar 2024 23:27:36 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (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 757C9C14F710 for <httpbisa-archive-bis2Juki@ietf.org>; Mon, 18 Mar 2024 23:27:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:To:References:Message-Id:Cc:Date:In-Reply-To:From: Mime-Version:Content-Type:Reply-To; bh=WdO0eH5yN/w8nhuKOw0jJkUZphvGAaqdUKo4N0t5Ink=; b=lLRefG/cSdFWKLUUP6K2vlS8X2 cbSdhw3AL+aIndwMVwUGOt7iuKQ64nD5hpAoZPj8HRcU+tq+Oe3C9IIV0waXFNfscFYC7JfHOHgaC +8ppcRZwxQoz9QW0//xuj8hzMV4fcR2/nF1TjmgP1NQD25tI451fS5NGM40r4dGKnJO0lcGd7v8O8 GrTV6IGrVJBytZUbllEHiE/I04RMcxJeRZSq9Tgz6iT8amjUoFV/7b5RMNKrPFmImUgfvIxnOLauR PYR1RlVvHfRc3RJGKlb4H+Zozo6OsHRu+AMsnbLJulBkYvrhjLc1eXpZPZ5VU+G/DDpugBgi7W72N 4xJLA4PQ==;
Received: from lists by lyra.w3.org with local (Exim 4.94.2) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1rmSvQ-001OdQ-GB for ietf-http-wg-dist@listhub.w3.org; Tue, 19 Mar 2024 06:26:16 +0000
Resent-Date: Tue, 19 Mar 2024 06:26:16 +0000
Resent-Message-Id: <E1rmSvQ-001OdQ-GB@lyra.w3.org>
Received: from pan.w3.org ([3.222.182.102]) by lyra.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <mnot@mnot.net>) id 1rmSvO-001OcJ-Bp for ietf-http-wg@listhub.w3.org; Tue, 19 Mar 2024 06:26:14 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=To:References:Message-Id:Cc:Date:In-Reply-To:From:Subject: Mime-Version:Content-Type:Reply-To; bh=WdO0eH5yN/w8nhuKOw0jJkUZphvGAaqdUKo4N0t5Ink=; t=1710829574; x=1711693574; b=mPFOlutdn/8a2HZt4eflpBlP4u5MMxSTZQY8sUTrpRVRTHUcI52dHYOv4lXvslGFSboAwg2wEHq MPyFPaJly1g9EgRpYQISuwi9twhPTdMoprBoo3rVRMaVxPafMcHGYHxvE5SrQEBxy1dmvMRgSi3vo 5kTexllf7l+mDbbKamTjyzo1DgdPxjxCKRF6nR5NC4WONbDwruuqjP9wNeuYwuwC5WBrPGJXi0n7R bLHoTuViyKELJzAQm1LJ95FQxBr8m9ZZjJovt5RP2SLR13UaUQH8NAdW2cdqOVRF45XildxqrUzSQ phENSMzGaM8muVwCMvfs5tRYBTK2aF7N8okQ==;
Received-SPF: pass (pan.w3.org: domain of mnot.net designates 103.168.172.149 as permitted sender) client-ip=103.168.172.149; envelope-from=mnot@mnot.net; helo=fout6-smtp.messagingengine.com;
Received: from fout6-smtp.messagingengine.com ([103.168.172.149]) by pan.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <mnot@mnot.net>) id 1rmSvN-00D2Kg-1Z for ietf-http-wg@w3.org; Tue, 19 Mar 2024 06:26:14 +0000
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailfout.nyi.internal (Postfix) with ESMTP id 0BB6F13800FF; Tue, 19 Mar 2024 02:26:10 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Tue, 19 Mar 2024 02:26:10 -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=1710829570; x=1710915970; bh=WdO0eH5yN/w8nhuKOw0jJkUZphvGAaqdUKo4N0t5Ink=; b= tQLT1pxC8Sn/VTefl3KHBUXumxOPk0ejCvSITWzkGDBxKPiWrYkQehyLK8d/7RZJ ukVTl0vPlxhdHN24ervDAij7S0zKBYwrq+6HMH1zjRmvYeg1DqDxQ3yGQiuZWD52 Ic4yDBgbd5Q5j/17rfLRdHEp5Ac9sOnYjtFKLEkvwTsxqp/2uemzZg2SDpirLjkj Lr+YbxLz7Ijh87gBeMSlvPPDOBj/Q5wK4rOhkvagVTRWSZjopoAPi7ZZp3ueZksI 6unfDUhW4Yq4FiSMnZrw/OrQEUt+43cYygxLxczQ6wviRxmkKc/tRX7wSuJLEvXR G26CsrL4smlk5YFczvU+Ag==
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=1710829570; x= 1710915970; bh=WdO0eH5yN/w8nhuKOw0jJkUZphvGAaqdUKo4N0t5Ink=; b=K DtlWVSKYULRrs7KMXbfsCIlsGw4TRBEOLJJwDT33vuoiysssX8Xfnzg0UdZIzx6e fsL7a1L8duqazg8bAbAh2zmGDoRcUaQ0c/yedhfSIs5JRak87J6A45yHp7AYT9z2 kqbPcR16d2TNTqAQBzMsf2fHnAVZ+d3LVlKmkY6udSq0siQhurmf/KI5zSu8qYDE zWbiWFsYKxdDt3htp7yPoo5EPP/LygZ2Wad27mYeQgvt41g+3PlsCTV4rr5OwW8U Bz2eiq+mwFzBy/VUacnq1k1mwWYq30LfsVxdlgiD70A/NBBP8RihsFjNzlyWtiO8 2CW27U9Q0ZGtXgDxWhxGg==
X-ME-Sender: <xms:ATD5Zcds_mFFhDy2f88iU5H0a_rX2g3kGh6otk_4sQTxOGz3BtqXaw> <xme:ATD5ZeM2eXAD3JbAziiJjn4Lbg5VPOj-_RAl-72Wi3X_QHmFxxjWMliUsBaGGMjNA yzoy5gOTKhUJ1tKlA>
X-ME-Received: <xmr:ATD5ZdiokDXK3sFcoNdu1K2-EF-Rd6r1Qi6X03e2NQRpLIiVZECOYsg8J8sSQJZXpNv9BHBaCJR_22AIo40sJJMBNRR2_Q>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrkeekgdeliecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpegtggfuhfgjffevgffkfhfvofesthhqmhdthhdtvdenucfhrhhomhepofgrrhhk ucfpohhtthhinhhghhgrmhcuoehmnhhothesmhhnohhtrdhnvghtqeenucggtffrrghtth gvrhhnpeffueeutefhueetueefheejffehvefhteehgffghedttdethfekteefudfhieev ieenucffohhmrghinhepmhhnohhtrdhnvghtpdgtlhhouhgufhhlrghrvgdrtghomhdpfh grshhtlhihrdgtohhmpdgrkhgrmhgrihdrtghomhdphhhtthhpugdrshhonecuvehluhhs thgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhhnohhtsehmnhhoth drnhgvth
X-ME-Proxy: <xmx:ATD5ZR9gTQKHgf_Qa6cZcdTKLQ3MqhBV3s03XfJ64h6Xf_OyiJb97g> <xmx:ATD5ZYuLJTpBlvxHatW5W-D5UsW4rAu8HQeMBFMh5f70E0Zv7Uxuqw> <xmx:ATD5ZYHoZSwaINri-f8zPFi-1BUKxKOWi_TnSkyLmBajKoPxJHm46Q> <xmx:ATD5ZXN20R1oDAcWbLKSjC_3UJbo4CIlEYaBF8iteJb57qQg-wnm1Q> <xmx:AjD5ZUJ92KOvdj0WCXJb6HWycb8tE96jhXhcNPi_u4M2GdooQqETXw>
Feedback-ID: ie6694242:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 19 Mar 2024 02:26:08 -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: <CACuR13fHj9_rryosf4T6Z5JJ7JufjzCRrvR_O2_ch9iCk6N3wA@mail.gmail.com>
Date: Tue, 19 Mar 2024 16:26:04 +1000
Cc: ietf-http-wg@w3.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <2C13B3A8-A92A-40B4-BE62-691C7D75DBE9@mnot.net>
References: <CACuR13cnHHoRv_Z-HtJeOyJqZb7AVU-_udQ=R_x9qQ1_JeP=KQ@mail.gmail.com> <EA99B248-7BD2-489F-8D86-8EE95D81F661@mnot.net> <CACuR13fHj9_rryosf4T6Z5JJ7JufjzCRrvR_O2_ch9iCk6N3wA@mail.gmail.com>
To: Jeremy Roman <jbroman@chromium.org>
X-Mailer: Apple Mail (2.3774.500.171.1.1)
X-W3C-Hub-DKIM-Status: validation passed: (address=mnot@mnot.net domain=mnot.net), signature is good
X-W3C-Hub-DKIM-Status: validation passed: (address=mnot@mnot.net domain=messagingengine.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-9.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, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: pan.w3.org 1rmSvN-00D2Kg-1Z 09a633158488cc574bdabb41d53e773f
X-Original-To: ietf-http-wg@w3.org
Subject: Re: No-Vary-Search
Archived-At: <https://www.w3.org/mid/2C13B3A8-A92A-40B4-BE62-691C7D75DBE9@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/51900
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>

Hi Jeremy,

> On 19 Mar 2024, at 11:44, Jeremy Roman <jbroman@chromium.org> wrote:
> 
> Unfortunately it is not possible for me to join personally (time zones and personal complications). We might be able to brief a Chrome team member who is attending if there is interest (depending when this is), though as you point out it would necessarily be a fairly brief overview on short notice (so it might not be possible).

It doesn't look likely that we'll have time for additional presentations. I'd suggest continuing the discussion on the list.

Just for some context -- we found this kind of capability useful when I was at Yahoo! way back in 2010:
  https://www.mnot.net/talks/pdf/Stupid_Web_Caching_Tricks.pdf#page=36

Cloudflare supports configuration to ignore the whole query string, as well as specific arguments in it:
  https://developers.cloudflare.com/cache/how-to/cache-keys/

As does Fastly:
  https://docs.fastly.com/en/guides/making-query-strings-agnostic
  https://www.fastly.com/documentation/solutions/examples/manipulate-query-string/

As does Akamai (apparently, based upon the information available):
  https://community.akamai.com/customers/s/article/Remove-query-strings-from-forward-request-and-cache-key?language=en_US

I know Varnish supports this as well; I've done it with Squid (using a helper) too. Not sure about eg nginx or Apache httpd.

So I suspect it's safe to say there's interest in this general feature from people who use HTTP caches. 

The difference here is the control mechanism to invoke that behaviour -- putting it in a response header is really nice because it's a) standardised, so (eventually) interoperable across implementations, and b) driven by the resource on the origin server, who has the most information about the URL's semantics (rather than relying on out-of-band configuration).

However, when a cache has multiple stored responses and they have conflicting information about the cache key, we need to be careful about specifying the interaction. In a way, this is similar to Vary -- it faced a similar question, and the decisions made in its design made implementation difficult. We chose a different approach in Key and Variants to address that; we should probably have a similar discussion here.

Cheers,


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