Re: If-None-Match and IMS (new Issue IMS_INM_MISMATCH)

Henry Sanders writes:

    There's also the sentence

       If none of the entity tags match, or if "*" is given and no
       current entity exists, then the server MAY perform the requested
       method as if the If-None-Match header field did not exist.
    
    Which is what I was referring to when I mentioned treating the
    header as if it didn't exist. I like your proposed alterations, we
    just need to strike this sentence too.

Yes, the quoted sentence is also wrong, but striking it would be
a mistake.  The problem is that this sentence combines two different
cases, and the appropriate action is different in each one.

I suggest replacing it with

       If none of the entity tags match, then the server MAY perform
       the requested method as if the If-None-Match header field did
       not exist, but MUST also ignore any If-Modified-Since header
       field(s) in the request.  That is, if no entity tags match, then
       the server MUST not return a 304 (Not Modified) response.

       If "*" is given and no current entity exists, then the server
       MAY perform the requested method as if the If-None-Match header
       field did not exist.
    
The latter paragraph doesn't depend on whether or not an I-M-S field
is included, since an entity that does not exist cannot have a
modification date.

Also, this next paragraph:

            If the request would, without the If-None-Match header
            field, result in anything other than a 2xx status, then the
            If-None-Match header MUST be ignored.

is also wrong; it should be

            If the request would, without the If-None-Match header
            field, result in anything other than a 2xx or 304 status,
	    then the If-None-Match header MUST be ignored.

I.e., don't ignore If-None-Match just because the I-M-S value
matches the current modification date.

-Jeff

Received on Monday, 17 November 1997 12:18:08 UTC