1.3 WebDAV History

The design of WebDAV took nearly three years and the combined efforts of many individuals. This section gives a brief overview of that history and can be skipped if the reader wants to get on with the technical details.

1.3.1 The WebDAV Working Group

The history of WebDAV begins with HTTP, originally put together by Tim Berners-Lee while at CERN. Although Berners-Lee intended HTTP to handle authoring as well as browsing, in practice the functionality didn't allow interoperable multi-author access to write Web pages. While the Web was in its infancy, the focus and priorities of Web client and server implementers and protocol designers were mostly on making Web browsing work interoperably. Once the basic framework was in place, however, various members of the community started thinking about making authoring work as well.

IETF and W3C

The IETF was started in 1986 as a loose collection of government researchers. It quickly expanded to include all who were interested in participating. By the time the Web protocols needed standardization in 1993, the IETF was the obvious place to bring open protocols for change control. Two working groups were formed to develop the Uniform Resource Locator (URL) specification and HTTP standards. However, the IETF rejected the idea of working on a document format or markup language like HTML, preferring to stick with addressing and protocols.

In 1994, Tim Berners-Lee began the World Wide Web Consortium (W3C), primarily to keep HTML change control from slipping into the hands of any single company, but also to work on other Web-related technology. This included the Platform for Internet Content Selection (PICS) ratings technology, Portable Network Graphics (PNG), and most famously, Extensible Markup Language (XML). Many protocols in the IETF, like WebDAV, now use XML to marshal data extensibly within a protocol.


In the summer of 1996, several people meeting regularly at the IETF meetings and at the W3C realized that they shared a common set of goals. An informal Distributed Authoring design group was formed using the still-extant mailing list w3c-dist-auth@w3.org for communication. Early participants included employees from various large and small software companies, representatives of the W3C, and hypertext researchers, including grad students.

These ad-hoc participants requested a Birds Of a Feather (BOF) meeting at the 37th IETF conference on December 11, 1996. A BOF is the preliminary step to forming an IETF Working Group the IETF uses the informal meeting to gauge the level of interest and discuss how reachable the goals of the working group will be. The attendees of this BOF overwhelmingly approved the formation of a working group within the Applications Area, with Jim Whitehead (then a graduate student at the University California at Irvine) as chairman. By this time, the team had already produced several versions of several draft documents. Many features were considered for inclusion in the core protocol or for publication as separate proposals. Access control and versioning were at one time part of the core protocol, but these turned out to be large and complicated features that needed to be dealt with on their own.

As with most standards, WebDAV was influenced by several parties with different viewpoints. It's interesting to see how these parties affected the development of the standard. The W3C, Microsoft, Netscape, and a group of graduate students at UC Irvine all influenced WebDAV significantly in its early development.

1.3.2 Suggested Requirements

The first WebDAV Working Group document to gain IETF approval was a Requirements draft, which became an Informational RFC in February 1998 [RFC2291]. Informational RFCs are permanent documents published by the IETF but not intended to be implemented as standards. The WebDAV requirements RFC is a short (21 pages) specification defining terms and outlining required features. The features were:

  1. Properties

  2. Links

  3. Locking and reservations

  4. Ability to retrieve the source code of a dynamically generated Web page (as opposed to the processed output for the page)

  5. Partial write (upload only a specified range of bytes when creating or changing a file)

  6. Copy, move, and rename

  7. Ability to create a collection and list its members

  8. Versioning and variants

  9. Access control

By mid-1998, it became clear that links, versioning and variants, and access control were all such challenging areas that they required independent standardization work. Eventually, the group pared the requirements list down to a minimal feature list including properties, locking, move/copy/ rename, and handling collections. All other features were postponed.

1.3.3 W3C Pressure

The initial goal for the Distributed Authoring Working Group was provided by Dan Connolly of the W3C to "make Web editing as reliable as browsing, and nearly as ubiquitous." Henrik Frystyk and Roy Fielding were also early key contributors, and Tim Berners-Lee (at the time, director of the W3C) took an interest. The W3C XML proposals (including the XML standard but also the namespaces proposal still in process in 1998) became a big part of WebDAV's design.

However, some of the ideas proposed by W3C members were unacceptable to corporate interests.

  • The W3C control model usually involved a dumb server and smart clients. In this model, clients would be entirely responsible for lock semantics and enforcement, perhaps by setting some "lock" property to an appropriate value. Other clients would voluntarily respect this value and refrain from modifying the resource. This model was unacceptable to commercial server developers who must make their servers work reliably under all conditions, including while handling queries from malicious or simply buggy client software. When the server enforces lock semantics, a bug-ridden client is more likely to hurt only its own users.

  • A proposed data model for properties defined each property as a resource, so that a property could have its own properties and so on. This is rather similar to the model adopted by the W3C's standard for Resource Description Framework (RDF). RDF covers some of the same territory as WebDAV in that it has a standard for expressing metadata for Web resources. This model proved unacceptable to many software companies with Web servers that stored Web pages in the file system, because their architecture could not easily be adapted to efficiently store and retrieve data with such a complex model. WebDAV ultimately used a data model that is a blend of existing file system and simple database data models.

  • Tim Berners-Lee wanted URL paths to remain entirely arbitrary, as HTTP URL paths are. The WebDAV Working Group decided not to follow this example. Instead, WebDAV requires that the URL for a WebDAV resource contain the URL to its parent. For example, the parent of http://www.example.com/hr/index.html must be the collection http://www.example.com/hr/.

1.3.4 Corporate Pressure

Corporate pressure is always present in standards work. The IETF is composed of individual members who freely participate in working groups and pay only nominal fees to attend the optional conferences (unlike the W3C, which has corporations as paying members). However, trips to IETF conferences are expensive, and employees frequently attend at the request and expense of their employers. Perhaps this is for the best, because corporate adoption is often essential for the success of a standard protocol.

Yaron Goland of Microsoft contributed an early list of features that would be required for Microsoft's Web editing products to support a standard protocol. This list included file and directory properties, move/copy, and lock/unlock. Netscape submitted a proposal to use new HTTP methods and headers to implement the WebDAV functionality.

The first concrete proposal for a Web authoring standard came from Yaron Goland and Jim Whitehead. Asad Faizi, from the Netscape enterprise server group, soon published an Internet Draft loosely describing the Netscape solution. Neither group was aware of the other's work before this. Each group justified its decisions in various ways. Usually, designers presented their proposals in theoretical terms because it's considered bad form in the IETF for attendees to blatantly push their employer's solution for commercial reasons.

It should be noted that not all IETF participants from one company agree with each other. Some observers were surprised to see Microsoft server implementers (Alex Hopmann, myself) and client implementers (Yaron Goland, Josh Cohen) disagreeing with each other strongly. Still, the starkest disagreements were between companies. Microsoft and Netscape each had proprietary solutions for the functionality proposed for WebDAV, so both companies had vested interests in making WebDAV resemble their own solutions. The employees from each company tended to see their model as the natural and superior solution.

Participation from vendors with proprietary solutions can sometimes delay the process, but it can also sometimes speed it. Implementers without versioning support were happy to allow versioning to be moved to another draft when the core draft became too lengthy. This suggestion was naturally opposed by participants from source-code control software vendors such as Perforce. In the end, the decision to postpone versioning clearly sped the standardization of WebDAV. It also kept barriers to implementation low, allowing early implementation of WebDAV in both Microsoft software and open-source projects.

The proposal from Asad Faizi was merged with design ideas from Yaron Goland and Jim Whitehead. Early contributions from two Novell employees (Steve Carter and Del Jensen) led them to be added as authors as well. This became the WebDAV protocol specification with five authors, which eventually became RFC2518.

1.3.5 The Final Draft

The WebDAV Working Group completed its initial design work in early 1998 and submitted it to the IETF for approval. In February 1999, it was accepted as an IETF Proposed Standard (what the IETF calls the first tier of standard document maturity).

A few WebDAV implementations existed even before the specification was approved. This is generally encouraged by the IETF because it shows both the need for the protocol and the feasibility of its design. Those that were known to exist when the Proposed Standard was published were:

  • UC Irvine students (under the guidance of Jim Whitehead) developed the WebDAV Explorer client.

  • Joe Orton, then from the University of York, released the Sitecopy client.

  • Jim Davis of Xerox produced a Python-based WebDAV client.

  • Cyberteams ran a WebDAV server publicly for interoperability testing.

  • Greg Stein's WebDAV module for Apache was released and running on the site www.webdav.org.

  • Microsoft implemented an early version of the draft to work with IIS 4.0 and made this module available as an extension to the server.

In 1999, the working group's attention turned to various extensions to WebDAV including versioning and access control. Access control became a major focus of the WebDAV group, resulting in submission of a draft to the Internet Engineering Steering Group (IESG) as a proposed standard in late 2002. However, the IESG suggested some simplifications, and as of early 2003 an updated draft had not yet been resubmitted.

There was sufficient interest in versioning to form a standalone working group, so that group could attract a different membership and stay focused on versioning features. To create this working group, WebDAV participants organized the DeltaV BOF in Oslo in July 1999. The first working group meeting was in San Diego in December 2000, under the chairmanship of Jim Amsden. DeltaV finished its work in the fall of 2001, and the DeltaV standard was approved in March 2002 [RFC3253].

1.3.6 Today

Work on WebDAV extensions continues, as client and server implementers demand more features within the WebDAV framework. The WebDAV Working Group is an open group, which anybody can join merely by joining the mailing list and to which anybody can contribute by writing their proposals in email or in a draft submitted to the IETF.

In addition to working on extensions to RFC2518, the working group is responsible for advancing WebDAV along the standards track, when and if the protocol shows the required maturity. A new RFC number is issued for each step in this track. Implementations may be compliant with RFC2518 but not with the successor to RFC2518; however, the working group attempts to keep changes to a minimum and to maximize interoperability, even between versions.

WebDAV interoperability events have been held yearly since 2001. These events attracted 20 to 30 client and server implementers and have been a great experience for improving interoperability and understanding the actual application of the standard. Interoperability events may require registration and a modest attendance fee, but additional implementers are always welcome.



WebDAV. Next Generation Collaborative Web Authoring
WebDAV. Next Generation Collaborative Web Authoring
ISBN: 130652083
EAN: N/A
Year: 2003
Pages: 146

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net