John Scudder's No Objection on draft-ietf-httpbis-targeted-cache-control-03: (with COMMENT)

John Scudder has entered the following ballot position for
draft-ietf-httpbis-targeted-cache-control-03: 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/blog/handling-iesg-ballot-positions/
for more information about how to handle DISCUSS and COMMENT positions.


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



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

Thanks for this clear and useful document; also for the helpful shepherd
writeup. I have a nit, and a question:

1. §2.1 Nit:

   Implementations SHOULD NOT consume values that violate these inferred
   constraints.  For example, a consuming implementation were to coerce
   a max-age with a decimal value into an integer would behave
   differently than other implementations, potentially causing
   interoperability issues.

I think “were to coerce” should be “that were to coerce”.

2. I have a question regarding one of the examples in §3.1:

   Whereas these would prevent all caches except for CDN caches from
   storing the response:

   Cache-Control: no-store
   CDN-Cache-Control: none

   (note that 'none' is not a registered cache directive; it is here to
   avoid sending a header field with an empty value, which would be
   ignored)

As a httpbis naïf, I might have guessed that a field that contains no
registered directive might be considered equivalent to an empty field, in which
case according to the rules of §2.2 the field would be ignored and the
Cache-Control field would be respected instead.

Your example makes it clear that guess would be wrong, thank you. My question
is whether it’s completely obvious to those conversant with the subject area,
that it’s fine to just bung a random string into the field? For that matter,
supposing someone came along and registered 'none' at some point in the future.
Might that cause the example case to break?

Received on Friday, 14 January 2022 18:38:19 UTC