WebDAV methods: safe and idempotent

Off-list, I was asked about the "idempotence" and "safety" of WebDAV
methods, following the definitions of "safe" and "idempotent" provided in
Section 9.1 ("Safe and Idempotent Methods") of RFC 2616. (Basically, "safe"
= does not harm the state of the resource, "idempotent" = the effect of N >
0 identical requests is the same as a single request)  In HTTP/1.1, GET,
HEAD, OPTIONS, and TRACE are safe (the rest are not), while GET, HEAD, PUT,
DELETE, OPTIONS, and TRACE are idempotent.  For the record:

PROPFIND: safe, idempotent
PROPPATCH: unsafe, idempotent
MOVE: unsafe, non-idempotent
COPY: unsafe, idempotent
MKCOL: unsafe, idempotent
LOCK: safe, non-idempotent
UNLOCK: safe, non-idempotent

New method specifications should indicate their idempotence and safety.

In advanced collections:

MKREF: unsafe, idempotent
BIND: unsafe, idempotent
ORDERPATCH: unsafe, non-idempotent (in general, though some ORDERPATCH
requests might be idempotent)

- Jim

Received on Tuesday, 27 July 1999 00:19:12 UTC