W3C home > Mailing lists > Public > ietf-http-wg-old@w3.org > January to April 1998

Re: Rigorously defining the interaction of conditional headers

From: Roy T. Fielding <fielding@kiwi.ics.uci.edu>
Date: Thu, 05 Mar 1998 22:39:30 -0800
To: John Franks <john@math.nwu.edu>
Cc: http-wg@cuckoo.hpl.hp.com
Message-Id: <9803052241.aa20112@paris.ics.uci.edu>
>This is certainly clear and simple.  But, why do precondition checks 
>take precedence over validation checks?  While we are on the subject,
>what is the purpose of the precondition checks?

A precondition gives a client the opportunity to require that the
resource (or at least some aspect of the resource) has not changed
before applying a method.  Preconditions are necessary to support
atomic check+set actions which are common in distributed authoring
and version control situations.

Actually, validation checks are also preconditions, but I didn't have a
convenient word for preconditions-that-return-412-when-false vs
                    preconditions-that-return-304-when-false.
The latter is only used for cache validation checks.

The precedence is due to the requirement that 304 be returned only
if the response would otherwise be 200.  Since a 412 is not a 200,
those preconditions win.  Checking them first is a performance issue,
but also simplifies the algorithm description.

....Roy
Received on Thursday, 5 March 1998 22:46:48 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 24 September 2003 06:33:13 EDT