Re: If-Match vs. If-None-Match

    I'm in the midst of a 1.1 implementation and came across something
    in draft 5 which seems to lead to ambiguity. In Sections 14.25 (If-Match)
    and 14.26 (If-None-Match), it seems there could be a conflict if both
    headers are present in a request.
    
    If a client sent something like:
    
    If-Match: "abcde"
    If-None-Match: "abcde"
    
    Which should the server honor? It doesn't seem likely for both to be
    present, but it's not explicitly forbidden or resolved either.
    
    It also seems the same circumstances could apply to "If-Modified-Since"
    and "If-Unmodified-Since" if the client sends a time for the latter
    which is earlier than the former [...]
    
    I think both of the scenarios are not likely without an error on
    the client side, but it seems the spec should arbritrate the conflict
    in some fashion.
    
    The closest I could find would be to return a 400 response. Is this
    what the draft intends?

We could either go through the spec and find all of the situations
where an apparent conflict exists, and declare a specific action
that the recipient must take.

Or we could simply state (near the front) that as a general
principle, the action of a recipient that receives an internally
contradictory message is "undefined", and the implementor has
no obligation to do anything in particular (but should not
crash.)  As you've observed, this would probably be the result
of a bogus client implementation.

I'd prefer the latter, since it doesn't require us to consider
all of the nonsensical permutations ahead of time.

-Jeff

Received on Monday, 24 June 1996 22:06:28 UTC