- From: Henrik Frystyk Nielsen <frystyk@w3.org>
- Date: Wed, 11 Nov 1998 19:49:10 -0500
- To: Jeffrey Mogul <mogul@pa.dec.com>, Ross Patterson <ROSSP@ss1.reston.vmd.sterling.com>
- Cc: http-wg@hplb.hpl.hp.com
At 14:58 11/11/98 PST, Jeffrey Mogul wrote: >Ross Patterson writes: > > In section 14.26 "If-None-Match", the statements > > "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." > > and > > "The meaning of "If-None-Match: *" is that the method > MUST NOT be performed if the representation selected by > the origin server (or by a cache, possibly using the Vary > mechanism, see section 14.44) exists, and SHOULD be > performed if the representation does not exist." > > conflict on the topic of "If-None-Match: *". The former > asserts that the server MAY perform the request, the latter > that it SHOULD. I think the MAY is correct. > >Hmm. I confess that I no longer remember all of the >discussion behind this, but I lean towards SHOULD. I think it actually is correct although the logic maybe more complex than need be: *If* there is an "If-None-Match: *" header *and* no representation exists then the server can either a) discard the "If-None-Match: *" or b) use it according to the algorithm outlined in the second paragraph above. Assuming that your example below SHOULD work, then the result should be the same. However, I am not sure that a) in fact makes sense as presumably the server would have used the existence of the "If-None-Match: *" header to check for existing representations before finding out that it could have ignored it. This is like saying: "After you have used it you may find out that you don't need it, but that's OK." Therefore, I would suggest that the first paragraph is simply removed. The second handles all cases as far as I can see. >Consider the request: > > PUT /foo.data HTTP/1.1 > Host: whatever.com > Content-Length: 0 Henrik
Received on Wednesday, 11 November 1998 16:52:20 UTC