Subject: RE: conditional methods and WebDAV

From: "Kevin Wiggen" <[email-masked]>
Date: Wed, 8 Aug 2007 09:55:45 -0700

It is my understanding that to be a HTTP compliant server the server
MUST honor the if header on ALL methods (including Webdav).

The open issue IMHO is, does the IF header relate to just the URI, or
does it relate to every resource the method touches (DEPTH infinity or a
DELETE can touch LOTS of objects for instance).  I do not remember if
this was ever decided (its been a while) but I would bet this could
behave differently depending on the server.

Kevin

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]
On Behalf Of Arnaud Quillaud
Sent: Wednesday, August 08, 2007 9:30 AM
To: [email-masked]
Subject: conditional methods and WebDAV

Hello,

HTTP defines a few conditional headers (if-* headers) and so does WebDAV
(if header). In both cases those headers can be used "to make *a* method
conditional". There is no table listing which method can be made
conditional.
By reading between the lines one can guess that the if-* headers main
purpose is for GET/PUT methods while if can be applied to pretty much
any method but that is about it.

This brings up a few questions:
* is the choice to make one method conditional or not left to server
implementations ?
* how can a client discover whether a particular method honor one of the
if* headers (e.g. DELETE with if-match, PROPPATCH with
if-unmodified-since or PROPFIND with if-modified-since) ?
* should the WebDAV if header be honored on all HTTP/WebDAV/*DAV methods
?

Thanks,

Arnaud Q