Benjamin Kaduk's No Objection on draft-ietf-httpbis-cache-16: (with COMMENT)

Benjamin Kaduk via Datatracker <noreply@ietf.org> Thu, 17 June 2021 06:28 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 208163A0D2D for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 16 Jun 2021 23:28:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.649
X-Spam-Level:
X-Spam-Status: No, score=-7.649 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 qx7aEliySRHM for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 16 Jun 2021 23:28:07 -0700 (PDT)
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 54B943A0D29 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 16 Jun 2021 23:28:07 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ltlUD-0006Wn-OQ for ietf-http-wg-dist@listhub.w3.org; Thu, 17 Jun 2021 06:26:48 +0000
Resent-Date: Thu, 17 Jun 2021 06:26:45 +0000
Resent-Message-Id: <E1ltlUD-0006Wn-OQ@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <noreply@ietf.org>) id 1ltlTp-0006U7-Hw for ietf-http-wg@listhub.w3.org; Thu, 17 Jun 2021 06:26:23 +0000
Received: from mail.ietf.org ([4.31.198.44]) by mimas.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <noreply@ietf.org>) id 1ltlTj-0003Ws-NM for ietf-http-wg@w3.org; Thu, 17 Jun 2021 06:26:18 +0000
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 707233A0CEE; Wed, 16 Jun 2021 23:26:04 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: Benjamin Kaduk via Datatracker <noreply@ietf.org>
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-httpbis-cache@ietf.org, httpbis-chairs@ietf.org, ietf-http-wg@w3.org, mt@lowentropy.net, mt@lowentropy.net
X-Test-IDTracker: no
X-IETF-IDTracker: 7.32.0
Auto-Submitted: auto-generated
Reply-To: Benjamin Kaduk <kaduk@mit.edu>
Message-ID: <162391116443.15153.3698933926206884808@ietfa.amsl.com>
Date: Wed, 16 Jun 2021 23:26:04 -0700
Received-SPF: pass client-ip=4.31.198.44; envelope-from=noreply@ietf.org; helo=mail.ietf.org
X-W3C-Hub-Spam-Status: No, score=-6.2
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: mimas.w3.org 1ltlTj-0003Ws-NM 86f00f330c8f9abe1285ae3f083fdd8b
X-Original-To: ietf-http-wg@w3.org
Subject: Benjamin Kaduk's No Objection on draft-ietf-httpbis-cache-16: (with COMMENT)
Archived-At: <https://www.w3.org/mid/162391116443.15153.3698933926206884808@ietfa.amsl.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/38911
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>

Benjamin Kaduk has entered the following ballot position for
draft-ietf-httpbis-cache-16: No Objection

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)


Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-httpbis-cache/



----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

I made a PR with some editorial suggestions at
https://github.com/httpwg/http-core/pull/874 .

Section 1.3

   negative integer range.  If a cache receives a delta-seconds value
   greater than the greatest integer it can represent, or if any of its
   subsequent calculations overflows, the cache MUST consider the value
   to be 2147483648 (2^31) or the greatest positive integer it can
   conveniently represent.

Is that a free choice, MIN, or MAX?

Section 3.1

   Caches MAY either store trailer fields separate from header fields,
   or discard them.  Caches MUST NOT combine trailer fields with header
   fields.

IIRC, recipients are allowed to merge trailer fields into header fields
in some situations (e.g., if explicitly allowed by the field
definition).  I'm not entirely sure how that allowance is intended to
interact with this directive (perhaps that generic-recipient merging has
already occurred before this point?).

Section 4

   A cache that does not have a clock available MUST NOT use stored
   responses without revalidating them upon every use.

(Are we using the same qualifications for what counts as a clock as
specified in §10.2.2 of -semantics?)

Section 5.2.2.2

   The "must-revalidate" response directive indicates that once the
   response has become stale, a cache MUST NOT reuse that response to
   satisfy another request until it has been successfully validated by
   the origin, as defined by Section 4.3.
[...]
   The must-revalidate directive also permits a shared cache to reuse a
   response to a request containing an Authorization header field
   (Section 11.6.2 of [Semantics]), subject to the above requirement on
   revalidation (Section 3.5).

It seems like the combination of these two behaviors would allow a
shared cache to reuse a response to a request containing an
Authorization header field without revalidation, provided it does so
before the response has become stale.  That seems surprising to me,
though it's hard to pin down exactly why.

NITS

Section 4.2.3

   A response's age can be calculated in two entirely independent ways:

Just to confirm: this is something that could be said to be the
"intrinsic age" or "initial age" of the response, corresponding to the
age at the time it was generated/received, as distinct from the age at
the time of the calculation?  I wonder if adding an adjective would help
clarify that.

Appendix B

   The "public" and "private" cache directives were clarified, so that
   they do not make responses reusable under any condition.
   (Section 5.2.2)

I'm having a hard time figuring out what change this refers to.