Subject: The WebDAV Book of Why - V. Alpha 3

From: Yaron Goland <[email-masked]>
Date: Thu, 17 Feb 2000 16:47:52 -0800

The WebDAV Book of Why
 
V.Alpha 3 - 2/17/2000 2:39 PM

1         Introduction
 
This is my personal collection of posts from the WebDAV mailing list. I use
this collection to save me time in answering questions about the design of
the WebDAV distributed authoring standard. In here you will find answers to
everything you ever wanted to know, but were wise enough not to ask, about
how WebDAV ended up the way it did.
 
Many of these papers contain histories of how various features were
developed. Almost all the histories are wrong. The reason they are wrong is
that:
a)    I have a lousy memory
b)    I didn't bother to actually research my answers
c)    All of the above
 
On the other hand I have been reviewing some of the old drafts, meeting
notes and mailing lists and there is quite a story in there. Did you know
that WebDAV was originally written to use POST? That WebDAV had support for
fully distributed searching and eventing? We have all the drafts, all the
meeting notes and the entire mail archive. I'm sure there is a researcher
out there who would just love to dive in to a fully documented history of
the development of a protocol. For more information please contact Jim
Whitehead, chief librarian and head researcher of the WebDAV archives.
 
Disclaimer:
 
Nothing said here is official, binding, normative, a standard or
representative of working group consensus. The official history of the
working group is contained in the meeting minutes, the mailing list and the
untold drafts the working group produced. The final word on all standards
issues is the RFC and failing that, working group consensus.

2         Changes
 
This is the third Alpha release of this reference.
 
The following new articles were added:
Why are WebDAV's XML namespace rules different than the W3C's?
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999OctDec/0343.html>
If you are going to write WebDAV Standards - PLEASE READ THIS
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JanMar/0130.html>
Thoughts on writing standards that real clients can support or "why the
server can just say no" philosophy doesn't work
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JulSep/0359.html>
Why IDs need to be Opaque Tokens
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JulSep/0256.html>
Why IE's Web Folders are accessed through File/Open
<http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0247.html>
 
The following article Was Removed:
Versioning, Collections and Sources
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1998OctDec/0280.html>
 
3         Index

3.1    Properties
 
A History of WebDAV's Property Design
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1998OctDec/0074.html> -
An explanation of WebDAV's property design, in the form of a fairy tale.
 
The DAV Property/Message Object Model
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1998JulSep/0044.html> -
Explains the relationship of WebDAV to XML
 
HTTP Design Issues, lessons from WebDAV's Property and Depth header
experiences
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1998OctDec/0303.html> -
Learn from our mistakes in WebDAV, read this if you are going to write
application protocols
 
Ramifications of WebDAV's property design decisions
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1998OctDec/0302.html> -
This post explores the screw ups we made in the WebDAV property design.

3.2    XML
 
Why are WebDAV's XML namespace rules different than the W3C's?
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999OctDec/0343.html>
 
How WebDAV Uses the Value argument in defining XML elements
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JanMar/0113.html>
 
XML Attributes and the WebDAV object model
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1998JulSep/0084.html> -
Why WebDAV doesn't use XML attributes

3.3    COPY/MOVE
 
COPY and Methods
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JanMar/0096.html> -
Discusses all aspects of COPY's behavior but how it deals with properties.
 
COPY and Properties
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JanMar/0097.html> -
Focuses in on explaining COPY's behavior with properties.
 
Why MOVE isn't really defined as a COPY followed by a DELETE
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JanMar/0125.html>
 
Why MOVE Eats Write Locks
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1997JulSep/0177.html>

3.4    Odds and Ends
 
Collections, Resourcetype and Hierarchy in WebDAV
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1998OctDec/0305.html> -
Explains the reasoning behind the design of collections and how they
interact with the namespace, how hierarchy works, etc. This one is really
long but touches on an enormous number of topics.
 
Whatever Happened to the Destroy Header and the UNDELETE method?
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JanMar/0111.html>
 
Why Multi-Status is a 2xx Response
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JanMar/0128.html>

3.5    Useful Design Heuristics
 
When to Use the Header vs. the Body for Method Arguments
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1998JulSep/0113.html>
 
If you are going to write WebDAV Standards - PLEASE READ THIS
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JanMar/0130.html> -
Explains how to structure early drafts so as to get maximum consensus in the
shortest period of time.
 
Thoughts on writing standards that real clients can support or "why the
server can just say no" philosophy doesn't work
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JulSep/0359.html>

3.6    General Philosophy
 
Levels of HTTP Nirvana or POST Vs. New Methods
<http://xent.ics.uci.edu/FoRK-archive/feb98/0238.html>
 
Why IDs need to be Opaque Tokens
<http://lists.w3.org/Archives/Public/w3c-dist-auth/1999JulSep/0256.html> -
This paper explains, in gory detail, why URL Munging is a really bad idea.
 
Why IE's Web Folders are accessed through File/Open
<http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0247.html> -
Ever wonder how Microsoft designs UI?