Re: Benjamin Kaduk's Yes on draft-ietf-httpbis-targeted-cache-control-03: (with COMMENT)

Mark Nottingham <mnot@mnot.net> Tue, 18 January 2022 04:03 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 6F8B83A0B19 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 17 Jan 2022 20:03:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.747
X-Spam-Level:
X-Spam-Status: No, score=-2.747 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.25, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mnot.net header.b=GNcoW0eH; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=D+tT5Qwi
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 bIAyRRNTysEo for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 17 Jan 2022 20:03:53 -0800 (PST)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (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 27C813A0B16 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 17 Jan 2022 20:03:52 -0800 (PST)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1n9fgS-00020t-FD for ietf-http-wg-dist@listhub.w3.org; Tue, 18 Jan 2022 04:01:24 +0000
Resent-Date: Tue, 18 Jan 2022 04:01:24 +0000
Resent-Message-Id: <E1n9fgS-00020t-FD@lyra.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <mnot@mnot.net>) id 1n9fgQ-0001zu-Ji for ietf-http-wg@listhub.w3.org; Tue, 18 Jan 2022 04:01:22 +0000
Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by titan.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <mnot@mnot.net>) id 1n9fgO-00014j-Io for ietf-http-wg@w3.org; Tue, 18 Jan 2022 04:01:22 +0000
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 6E3E55C00E6; Mon, 17 Jan 2022 23:01:07 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Mon, 17 Jan 2022 23:01:07 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm1; bh=+ o7zeke4WyKkmni5t79Rht+bpXw9ikoBxj5e0TArlO4=; b=GNcoW0eHwoJietK3U m7+BhRBwIjicwQctH4rl06gyyYS0IxMSI4Zzhe71t1ymhFXGhruN5lzrYRDN4+nf +LCSi0F2KyGgvrtKfM9eD1k23c1nNVpR2wdj/UNFD66qascwKh/DPS3KjSu6ijI1 gMpJDlpWsG8v5wVh8XfyblyyPOUnWM0if8/MA2XTqMbeERTLMGNGkMe6cpfL4c4k B3jqGABfXyl5xApbOLcdSSFP7DqmG8NgiJIQ1U3owlVMIaygBj7maPspfAX8+z4y iv485m59VsEOyCuuZ29qUDrLPCIdRC2PhW98qC9QopvvmQzMX9beRfg0FHB/jvG7 K9T+g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=+o7zeke4WyKkmni5t79Rht+bpXw9ikoBxj5e0TArl O4=; b=D+tT5Qwi7S8SrWDfs4AetdCfjBZuSkWV3wIYIMGgNr+X9kIfNcFqaj/yY 2drlQpnb73Mv4ky8QvvX2qzR/Ggch19UvQiBP5AH7FgqKfH7Zsal71IG6ZEFER+y Ova4256rtn1hq+xF9WkIb4NV6wsYb3yxXLyuoFx8FVMZe4Jt2ekBJ8rMziOabWSA DUBPlwQZCFjIMx6cTC7Go+j4L4b6rntZNehZLWc2wjv+a1KpZQUz9U56jJDfIaig SMFRaxlROybNXzfrbtZ+7YqhbQRvtEBGWHo9iiB5Rlb2v7SMnQwTiW7DGPSqNxvw bMjtecuIcu46Xm2zmpHEcYBGi0Tsg==
X-ME-Sender: <xms:gzvmYTCbActzK8wXaZuO2aYIJxDvFYgN6oZ67PDx38cIkxtB5V6vzA> <xme:gzvmYZhPUtlyrsIozxE-5YXUuBNHsVT4jzGuSzatvISkWAvQvq4br3boqwJ0WDrB3 jWxJSqsi7dEujiMwg>
X-ME-Received: <xmr:gzvmYenLDqNo71cXNFbwaym2rW3fojGume2cjnN9Oow6-KwYUZWyeSprt0os0w_7k5fTiC6bxo-H1W-uHiv4hnTT4qD_000nh0D7ddFg9VLdj_kTs7jGCmZu>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddruddvgdeihecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpegtggfuhfgjfffgkfhfvffosehtqhhmtdhhtddvnecuhfhrohhmpeforghrkhcu pfhothhtihhnghhhrghmuceomhhnohhtsehmnhhothdrnhgvtheqnecuggftrfgrthhtvg hrnhepleffvdeuveffffekgefgffeugeehleekkeetjeelhfelkeevkeduieeivedvtefg necuffhomhgrihhnpehgihhthhhusgdrtghomhdpmhhnohhtrdhnvghtnecuvehluhhsth gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhhnohhtsehmnhhothdr nhgvth
X-ME-Proxy: <xmx:gzvmYVyULwYhbNGHUhCg1z9eJVD3ySKn1DyGemcLmesdK2kQHQBiyA> <xmx:gzvmYYSXoCqxnlkRu3R4rMGg5PCrgZVKAPnXixI0cMXraff7IFpgig> <xmx:gzvmYYa3FxUL2CPs18nBj6CAUlIcYXSd-pXmNzfueJz7qOh2e-_mww> <xmx:gzvmYdTvztWhX3lCDW1CfjP5AUB4t2Xgc-zNdRyIiVY4H0cMS45_lg>
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 17 Jan 2022 23:01:05 -0500 (EST)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 15.0 \(3693.40.0.1.81\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <164245957049.28420.12473795777106711821@ietfa.amsl.com>
Date: Tue, 18 Jan 2022 15:01:02 +1100
Cc: The IESG <iesg@ietf.org>, draft-ietf-httpbis-targeted-cache-control@ietf.org, httpbis-chairs@ietf.org, HTTP Working Group <ietf-http-wg@w3.org>, tpauly@apple.com
Content-Transfer-Encoding: quoted-printable
Message-Id: <1727DC74-19A7-4AAC-ABEE-F7E6F6C2D8A8@mnot.net>
References: <164245957049.28420.12473795777106711821@ietfa.amsl.com>
To: Benjamin Kaduk <kaduk@mit.edu>
X-Mailer: Apple Mail (2.3693.40.0.1.81)
Received-SPF: pass client-ip=66.111.4.29; envelope-from=mnot@mnot.net; helo=out5-smtp.messagingengine.com
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.8
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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1n9fgO-00014j-Io 423fd90f05ec40748c175f555986c2bd
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Benjamin Kaduk's Yes on draft-ietf-httpbis-targeted-cache-control-03: (with COMMENT)
Archived-At: <https://www.w3.org/mid/1727DC74-19A7-4AAC-ABEE-F7E6F6C2D8A8@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/39753
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>

Hi Ben,

> On 18 Jan 2022, at 9:46 am, Benjamin Kaduk via Datatracker <noreply@ietf.org> wrote:
> 
> Thanks for responding to the gen-art reviewer with the remark about the
> "publisher site" link for the [AGE-PENALTY] reference.  I would not have
> followed that link without the extra nudge, and wonder if it could be
> incorporated somehow into the document.  Perhaps the RFC Editor has
> thoughts...
> 
> I put some very minor editorial thoughts in
> https://github.com/httpwg/http-extensions/pull/1890 .

Thanks. I've left a review there.


> Section 2.1
> 
>   Parameters received on directives are to be ignored, unless other
>   handling is explicitly specified.
> 
> I assume that the "other handling" could be specified in many ways,
> including but not limited to some future RFC and explicit administrator
> configuration.  (Which, to be clear, suggests no change to this text.)

Yes, although the main focus here was on future directives that take advantage of them.


> Section 5
> 
>   The ability to carry multiple caching policies on a response can
>   result in confusion about how a response will be cached in different
>   systems, if not used carefully.  [...]
> 
> The "if not used carefully" is probably not how I would have phrased it.
> It's possible to try to use it carefully and still (Murphy's Law) have
> things go awry, after all.  I don't have any suggestions other than just
> removing the clause, though, which I recognize is a pretty heavy hammer
> -- some additional clarification here is worthwhile, if we can wordsmith
> it.

I'm at a loss as to how, except perhaps for expanding "this" into an example in the following sentence. Do you have any suggestions?


> NITS
> 
> Section 1
> 
>   Because it is often desirable to control these different classes of
>   caches separately, some means of targeting directives at them is
>   necessary.
> 
> This feels a bit like begging the question -- it doesn't actually
> present any supporting evidence for separation of control as desirable;
> rather, it just assumes that it is desirable.  Some example of where
> divergent behavior by different caches is useful might be helpful.

I think it's a given, if you consider how often such mechanisms have been independently created and used throughout the history of the web.


> Section 2.2
> 
>   When a cache that implements this specification receives a response
>   with one or more of of the header field names on its target list, the
>   cache MUST select the first (in target list order) field with a
>   valid, non-empty value and use its value to determine the caching
>   policy for the response, and MUST ignore the Cache-Control and
>   Expires header fields in that response, unless no valid, non-empty
>   value is available from the listed header fields.
> 
> As I understand it, the final "unless no valid, non-empty value is
> available" is redundant with the previous "MUST select the first (...)
> field with a valid, non-empty value and use its value".  But it seems
> kind of confusing to have that listed twice, as it invites the reader to
> invent some other reason for having the second statement.  Is it safe to
> just drop the final clause of the sentence?

I don't think it is safe, because that leads to the construction "When a cache [] receives a response with one or more of the header field names on its target list, the cache [] MUST ignore the Cache-Control and Expires header fields in that response." Which doesn't cover the invalid/empty case.

Cheers,

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