Re: [art] Artart telechat review of draft-ietf-httpbis-cache-header-09

Mark Nottingham <mnot@mnot.net> Tue, 17 August 2021 01:35 UTC

Return-Path: <mnot@mnot.net>
X-Original-To: art@ietfa.amsl.com
Delivered-To: art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6BD543A0D69 for <art@ietfa.amsl.com>; Mon, 16 Aug 2021 18:35:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mnot.net header.b=geW1vhI1; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=sSJR3Tqn
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 OHuokpuJkErR for <art@ietfa.amsl.com>; Mon, 16 Aug 2021 18:35:12 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 85A693A0D66 for <art@ietf.org>; Mon, 16 Aug 2021 18:35:12 -0700 (PDT)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id A94F05C019E; Mon, 16 Aug 2021 21:35:11 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Mon, 16 Aug 2021 21:35:11 -0400
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=fm3; bh=e I7dY1lxZSmeah20glfNdInveTDUG6MjlvZ7p0rEdMo=; b=geW1vhI19M4GZNIfW RXSFg04Q8opDcdJ97XLyln9lv5ao5kt9nKztauIN9VPRumQzIckcq+P+Xrz34LwL BlM4tLhCEL726q2VVIs/0abDHXIaTXgIiQoBmkFQL62hyx/O6/+7kkwfo7ForxgM Acf3iFruR+iYU8k0CYbQMpMZqsIwuGpCjANN2BNsjmtlKFWr/iHvT7DnFkukBSLd r5FSZByyhu4JTyRWeARn4JlJ6eB5SCd2HXC5ROy8tt0EM+KByn4cUnp1NT5n9z6+ 39XDr+D89JCtkMJZmydCnLxuQ8/pyCI4MNPi7FEqHATQRII5t7UEtv/lh17IHZ1J wNXcA==
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=fm3; bh=eI7dY1lxZSmeah20glfNdInveTDUG6MjlvZ7p0rEd Mo=; b=sSJR3Tqn+P7KjOt3xAET8ITs65aBUEI4FeB7RQHDbiyNRy5Wo9akBrWIe Ysq7CfYm8V1jYqc4w8IUOJpcEqa04LDYzNEGaaoBYssSYEZAIMwNW6lVajdT3AiO GixWn4K0oLfDEMxrDQMBRak+oUj9SuwvYP1jBgVgAvj+kk4zy6zK59fEdSHgJ3ks kqAuu/9/thTennttlVG6qYmTCFz2aqH98B3fYQkDR/ZTiPvit+OFDK+hqnVx2sM7 /kh5qRCEFx6DItpws2i6DuxK5onZMuv2+kQFaUJsE+xYrn06RCeSPgLIKcbPDAeg 71/1OEJFc5zptmEv2kn8ghs+bPjiQ==
X-ME-Sender: <xms:TBIbYXJ8859JgRBx2L1aw3es9vte1Cr8aBzpVVKJqDZZYnRAeK3ujw> <xme:TBIbYbKEiLlXZUAY-j1wSRE4DSrI05IU7uPDWYkllaL0nniv3PoOWdcRBstHFIl3W 7nbgiLANSdmAqpIgA>
X-ME-Received: <xmr:TBIbYfvD0E2m6pGZkQ9xtit9Z-M2fu9RoPkfTKOwEt2SLqZKSK_UuaSe3NURpGvzha6DO8mfAMUHbg1cEioEsndcm2mYyaRF-sAibJtS6VdSHJ0YX7iWbu8r>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddrledvgdegkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecuogfuuhhsphgvtghtffhomhgrihhnucdlgeelmdenuc fjughrpegtggfuhfgjfffgkfhfvffosehtqhhmtdhhtdejnecuhfhrohhmpeforghrkhcu pfhothhtihhnghhhrghmuceomhhnohhtsehmnhhothdrnhgvtheqnecuggftrfgrthhtvg hrnhepueeuheeuveehueduueefgefhheelffegteeuffdtjeeiudetfedvtefgiedtfeff necuffhomhgrihhnpehivghtfhdrohhrghdpghhithhhuhgsrdhiohdpghhithhhuhgsrd gtohhmpdhmnhhothdrnhgvthenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhep mhgrihhlfhhrohhmpehmnhhothesmhhnohhtrdhnvght
X-ME-Proxy: <xmx:TBIbYQZgPkz4dDaC-9rkHbofUd8EtM6JWXJ8W-kk292FfDDvWkx-kw> <xmx:TBIbYeYKoHYLyM59tyrdfy-CPaRy32-hEwKTci4AUYPCOhsvopy0og> <xmx:TBIbYUDk3UwW5DjPbmISqJ2xiJ2qsgAWoYez-C30dgjiJkykpMNtCA> <xmx:TxIbYVXiGyOauAr-tvROhtMyX2uSdgOvJozjevw55tN6l8uLVizyeg>
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 16 Aug 2021 21:35:06 -0400 (EDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <162858283141.12857.10508033655815270480@ietfa.amsl.com>
Date: Tue, 17 Aug 2021 11:35:04 +1000
Cc: art@ietf.org, HTTP Working Group <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <DCA2B147-0C8C-45DA-9F8D-7939A0926089@mnot.net>
References: <162858283141.12857.10508033655815270480@ietfa.amsl.com>
To: Martin Dürst <duerst@it.aoyama.ac.jp>
X-Mailer: Apple Mail (2.3654.120.0.1.13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/art/38n7gYN7SYl9rHBBZN-sZDWe7R8>
Subject: Re: [art] Artart telechat review of draft-ietf-httpbis-cache-header-09
X-BeenThere: art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Applications and Real-Time Area Discussion <art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/art>, <mailto:art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/art/>
List-Post: <mailto:art@ietf.org>
List-Help: <mailto:art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/art>, <mailto:art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Aug 2021 01:35:21 -0000

Hi Martin,

Thanks for the review. Responses below.

> On 10 Aug 2021, at 6:07 pm, Martin Dürst via Datatracker <noreply@ietf.org> wrote:

> Overall: The draft says the header's purpose is "to add debugging". Is the
> intent that this header is consumed by debugging tools, or is it simply
> intended for human debuggers? If the former, that should be called out more
> clearly because it might help implementing senders to be more careful. If the
> later, there's a chance that implementations will degrade over time, because
> humans are the ultimate example for the second half of Jon Postel's robustness
> principle. Also, it would be interesting to know if other uses besides
> debugging are possible.

Potentially both, although it's hard to predict the future. I've written tools in the (distant) past to consume this sort of information from proxy logs, for example. It remains to be seen whether it'll be consumed by tools from headers.

That said, I'm not convinced that adding a phrase like 'including by automated tools' will result in more careful implementation; what's much more likely to result in that is the existence of such tools themselves. In the spec, we've already carefully outlined the serialisation rules (through use of structured fields) in an effort to improve interoperability.

> Section 2, first paragraph: The sentence is grammatically correct, but avoiding
> "caches'" and the final "within" would definitely make it more readable. E.g.:
> "The Cache-Status HTTP response header field indicates how the caches have
> handled the request corresponding to the response where the header field
> occurs.".

Already addressed when handling previous feedback.

> Section 2, second paragraph: "Its value is a List ([RFC8941], Section 3.1):":
> RFC 8941 is just referenced in passing. If the header field is using the syntax
> from RFC 8941, that should be said independently up front. If only parts of
> that syntax are used, that should also be said explicitly.

It's not conformant to use 'only parts' of SF syntax; as per the spec, you either use it for a field or you don't. If that isn't clear, can you make a suggestion? E.g.,

Its value is a Structured Field List (...)

?

> Section 2, ~forth paragraph (fifth by different counting): This paragraph, and
> in particular its first sentence, have left me wondering about its exact
> meaning repeatedly. When the draft says "The Cache-Status header field is only
> applicable to responses that have been generated by an origin server.", is that
> another way of saying that the server  (which may be a cache, but not for the
> response in question) originally creating a response SHOULD NOT add such a
> header field to that response? The problem with the current language is that in
> my understanding, essentially all responses at one point are generated by an
> origin server, and so the quoted sentence doesn't in any way restrict anything.
> Or is the header also inappropriate for the case when a cache serves a full
> fresh response as originally received from the origin server, with 200 OK?
> Wouldn't that defy the purpose of this header field?

That paragraph has also been substantially reworked based upon previous feedback. See:
  https://tools.ietf.org/rfcdiff?url1=https://tools.ietf.org/id/draft-ietf-httpbis-cache-header.txt&url2=https://httpwg.github.io/http-extensions/draft-ietf-httpbis-cache-header.txt

> Section 2.4, first paragraph: "measured when the response header section is
> sent by the cache": This may be splitting hairs, but some header sections are
> quite large and may not be sent in one go, and on the other hand, generating a
> header field and sending it may not happen exactly synchronously, in which case
> it would be easy to measure and note down the ttl when generating, but
> difficult to do so when sending.

Yes, this is a thorny area. We were trying to make it reasonably precise without constraining implementation behaviour too much. Do you have a suggestion?

> Section 3, last example: There is only one example with two layers of caching.
> One or more additional examples of multi-layer caching might greatly enhance
> understanding for example-directed readers.

See:
  https://github.com/httpwg/http-extensions/commit/62d77c9fc

Cheers,

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