On Jun 20, 2006, at 9:56 AM, Julian Reschke wrote:
Lisa Dusseault schrieb:
Xythos WFC and Chandler (the Zanshin library that does WebDAV in
python) behave this way and make the assumption I describe. How
else would you expect a caching or synching client to behave after
doing a PUT, when the implementors of those clients were pretty
sure that WebDAV servers stored the content without mucking with it?
Chandler is not released and obviously operating based on what the
CalDAV spec currently says.
Regarding the Xythos client: I just did some tests, and as far as I
can tell the behavior is the same independantly of whether the
server returns an ETag in PUT: the client always assumes that
content was not rewritten, and in the absence of an ETag uses the
Last-Modified date to check. So it seems that it doesn't handle
content-rewriting servers at all, right? (one needs to manually
purge the cache to get the actual content).
My assertion was that if a strong ETag is returned, Xythos WFC
assumes that what it PUT was what the server stored, and it seems you
agree. You found that if a Last-Modified is returned instead, WFC
makes the same assumption -- naturally, they're very similar.
You're probably quite right about the general case, that existing
WebDAV clients don't handle content-rewriting servers at all. What's
the best thing a content-rewriting server can do in this situation?
I would hope that if a client receives neither an ETag nor a Last-
Modified in a PUT response, then the next time it synchronizes and
sees an ETag that it's never seen before, the client downloads the
resource. This allows the content to eventually get synchronized
although perhaps not as fast as would be ideal.
But CalDAV clients will have to handle content-rewriting servers at
least handling events (calendar component resources), because during
protocol development we heard from a couple server developers that
they'd need to add custom iCalendar properties to an event as soon as
it was stored, thus rewriting the content.
lisa
_______________________________________________
Ietf@xxxxxxxx
https://www1.ietf.org/mailman/listinfo/ietf