Re: p4-conditional proofreading

Barry Leiba wrote:
> ...
> Oh, my, I certainly think it's wrong and unclear, and it needs to be
> changed (and I don't think "they" is sufficient).  I also can't
> imagine that the RFC Editor would let it pass.  Each normative clause
> has to have a subject, and it's confusing the have the subject sort of
> presented at the beginning of the list.  That's not good English.
> 
> For example:
> 
>      HTTP/1.1 clients:
> 
>      * If an entity tag has been provided by the origin server, MUST
>      use that entity tag in any cache-conditional request (using If-Match
>      or If-None-Match).
> 
> This asks people to mentally insert "HTTP/1.1 clients" where there's a
> missing subject.  Ah, I see, there's a missing subject before MUST, so
> that's where I need to stick it.  No, that's too much to ask of the
> reader.  That it's been that way for a long time doesn't mean that
> it's right, only that no one has complained.  It's only been reviewed
> by people who knew what you meant already, so they breezed through it.
> 
> Please change the list to look something like this:
> 
>      For HTTP/1.1 clients:
> 
>      * If an entity tag has been provided by the origin server, HTTP/1.1 clients
>      MUST use that entity tag in any cache-conditional request (using If-Match
>      or If-None-Match).
> 
> That really isn't a hard change to make, it will avoid any
> misunderstandings, and it will avoid interaction on this with the RFC
> Editor when the time comes.
> ...

Understood.

Here's an alternative proposal; reverse the sentences so that the BCP14 
keyword comes first (like in the previous list about servers):

- snip -
   HTTP/1.1 clients:

   o  MUST use that entity tag in any cache-conditional request (using
      If-Match or If-None-Match) if an entity tag has been provided by
      the origin server.

   o  SHOULD use that value in non-subrange cache-conditional requests
      (using If-Modified-Since) if only a Last-Modified value has been
      provided by the origin server.

   o  MAY use that value in subrange cache-conditional requests (using
      If-Unmodified-Since) if only a Last-Modified value has been
      provided by an HTTP/1.0 origin server.  The user agent SHOULD
      provide a way to disable this, in case of difficulty.

   o  SHOULD use both validators in cache-conditional requests if both
      an entity tag and a Last-Modified value have been provided by the
      origin server.  This allows both HTTP/1.0 and HTTP/1.1 caches to
      respond appropriately.
- snip -

Feedback appreciated,

Julian

Received on Monday, 1 February 2010 14:27:31 UTC