Subject: HTTP If-* headers

From: Stefan Eissing <[email-masked]>
Date: Fri, 26 Apr 2002 18:19:28 +0200

You saw this coming, didn't you? ;)

The HTTP If-* header family, namely

If-Match, If-None-Match, If-Modified-Since,
If-Unmodified-Since and If-Range

are described in rfc2616 as they apply to
GET, HEAD and PUT.

But what about the WebDAV methods? I think we need
to clarify and put an advisory in an updated rfc2518.

Easy things first: If-Range seems only to make sense
with GET. So we could exclude it from discussions of
other methods.

The other four, IMO, should be honoured on DELETE,
COPY, MOVE, LOCK and UNLOCK.

But what about PROPFIND? For the If-* headers to make
sense with PROPFIND, a client would rely on the
assumption that DAV:getlastmodified and DAV:getetag
change when properties are changed (either by PROPPATCH
or as a side-effect on live properties from other
methods.)

Would the burden on the server (to update etag/lastmodified)
justify the benefit? I rather doubt that, but would like
to hear the opinion of the excellent audience on this list.

//Stefan

---

From: "Clemm, Geoff" <[email-masked]>
Date: Fri, 26 Apr 2002 14:52:56 -0400

I also agree that the Etag should only apply to the content.

Unfortunately, there are implementations (such as some by
Microsoft) that store the dead properties as hidden parts of
the file, and which use the file system to provide the 
modification dates and etags, and therefore a PROPPATCH will
in fact change the modification date and etag.

So if we want to avoid confusing clients that want to interoperate
with those implementations, we probably can at most say that
"PROPPATCH SHOULD NOT modify the etag or modification date".

Cheers,
Geoff

-----Original Message-----
From: Jason Crawford [mailto:[email-masked]]
Sent: Friday, April 26, 2002 2:29 PM
To: Stefan Eissing
Cc: Clemm, Geoff; [email-masked]
Subject: Re: HTTP If-* headers

I agree with Stefan.  ETags should only apply to the GET/HEAD response.
We can invent something else if we want some ETAG-like support that applies
to properties.

Stefan did mention PUT.  I wound't even necessarily mention that since more
than just PUT can alter the GET response.

Stefan, you've apparently just read the IF-* specifications.   Does this
sound acceptable in view of what you read?

J.

------------------------------------------
Phone: 914-784-7569,   [email-masked]

---

From: "Jason Crawford" <[email-masked]>
Date: Fri, 26 Apr 2002 14:28:42 -0400

J.