Re: #307 (untangle Cache-Control ABNF)

On 11/06/2012, at 10:51 PM, Julian Reschke wrote:

> On 2012-06-11 14:44, Mark Nottingham wrote:
>> Assuming that the text isn't changing in substance, yes.
>> 
>> I think this is verging on editorial; if anyone has concerns about this direction, please speak up; otherwise, Julian go ahead.
>> ...
> 
> It's a bit more than editorial, because it tries to address the mismatch between the ABNFs for predefined directives (special-cased), and extension directives (token *and* quoted-string).

Ah.

> 
> Highlighting these changes:
> 
>  Cache directives are identified by a token, to be compared case-
>  insensitively, and have an optional argument, that can use both token
>  and quoted-string syntax.  Recipients MUST accept both forms.

The MUST is going too far here. I think that individual parameters can (and do) constrain the syntax. 



>  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
>    Cache-Control   = 1#cache-directive
> 
>    cache-directive = token [ "=" ( token / quoted-string ) ]
> 
>  For the cache directives defined below, no argument is defined (nor
>  allowed) otherwise stated otherwise.
> 
>  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> 
> 3.2.2.2.  private
> 
>  Argument syntax:
> 
>     #field-name
> 
>  The private response directive indicates that the response message is
>  intended for a single user and MUST NOT be stored by a shared cache.
>  A private cache MAY store the response.
> 
>  If the private response directive specifies one or more field-names,
>  this requirement is limited to the field-values associated with the
>  listed response header fields.  That is, a shared cache MUST NOT
>  store the specified field-names(s), whereas it MAY store the
>  remainder of the response message.
> 
>  The field-names given are not limited to the set of standard header
>  fields defined by this specification.  Field names are case-
>  insensitive.
> 
>  Note: This usage of the word "private" only controls where the
>  response can be stored; it cannot ensure the privacy of the message
>  content.  Also, private response directives with field-names are
>  often handled by implementations as if an unqualified private
>  directive was received; i.e., the special handling for the qualified
>  form is not widely implemented.
> 
>  Note: For compatibility with non-robust recipients, even a single-
>  entry list of field names SHOULD be sent using the quoted-string
>  syntax.
> 
>  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
>  ....
> 
> Best regards, Julian
> 

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

Received on Monday, 11 June 2012 13:02:59 UTC