- From: Jeffrey Mogul <mogul@pa.dec.com>
- Date: Mon, 24 Jun 96 21:44:31 MDT
- To: Paul Hethmon <phethmon@utk.edu>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
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