Re: HTTP 1.1 issue 21: 13.3.3 Weak and Strong Validators

    > In section 13.3.3 "Weak and Strong Validators", the statements
    > 
    >    "The weak comparison function MAY be used for simple
    >    (non-subrange) GET requests. The strong comparison function MUST
    >    be used in all other cases."
    > 
    > and
    > 
    >    "A cache or origin server receiving a conditional request, other
    >    than a full-body GET request, MUST use the strong comparison
    >    function to evaluate the condition."
    > 
    > state the same requirement.
    
    It isn't quite the same thing.  One states requirements on the
    client, and the other on origin servers or proxies.  It is a bit
    confusing, and may be redundant.
    
    Jeff, what is the right thing to do here?

It may be a bit confusing, but it's not really redundant.  The
problem is the passive voice (i.e., lack of explicit subject).
One might change the first statement to read:

   Clients MAY use the weak comparison function for simple
   (non-subrange) GET requests.  They MUST use the strong 
   comparison in all other cases.

However, on reflection, it's a little more complicated than
this.  Since the comparison is normally done at the server,
what we really want to do is to prevent the client from
issuing a request that cannot be properly evaluated.

So, how about moving this paragraph up before the
previous one (begins with "The only function"), and changing
it to read:

   Clients MAY issue simple (non-subrange) GET requests
   with either weak validators or strong validators.
   Clients MUST NOT use weak validators in other forms
   of request.

Which makes it basically a formal statement of the informal
description in the next previous paragraph.

-Jeff

Received on Wednesday, 11 November 1998 14:44:56 UTC