If header field and conditional precedence

Happy Holidays to All!

I'm trying to figure out where the If header field fits in the 
precedence order outlined in:
http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-21#section-5

I assume that the If header field should be evaluated in a step 0, but 
my question is what should happen when the If header is present and 
evaluates to true?  Should processing continue to step 3 or step 1?  In 
other words, does If completely supersede If-Match, where a client 
wishing to submit both a state token and an ETag MUST only use If, or is 
a client allowed to submit a state token with If AND submit an ETag with 
If-Match?

In text, the two options might look something like this:

    0.  When If is present, evaluate it:

        *  if true, continue to step 3

        *  if false, respond 412 (Precondition Failed)

    1.  When If is not present and If-Match is present,
        evaluate it:

    ...


OR


    0.  When If is present, evaluate it:

        *  if true, continue to step 1

        *  if false, respond 412 (Precondition Failed)

    1.  When If-Match is present, evaluate it:

    ...

-- 
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University

Received on Sunday, 23 December 2012 21:00:58 UTC