Presentation is loading. Please wait.

Presentation is loading. Please wait.

WebDAV Design Overview

Similar presentations


Presentation on theme: "WebDAV Design Overview"— Presentation transcript:

1 WebDAV Design Overview
Munich IETF August 11, 1997

2 Properties: Chunk Size
Properties are “small” chunks of data describing a resource “large” chunks of descriptive data are stored as full resources, using a link to capture the relationship between the described and describing resources. Benefits: Both large and small descriptive information can be accommodated More frequently accessed small-chunk data is more efficient than large chunk data

3 Properties: Naming Properties are (name, value) pairs
Property names are URIs can be a URL (no registration needed) can be a URI (register new URI scheme) Benefits: Due to ownership of a domain name, URLs provide globally unique names without registration URLs allow rapid development and deployment of new schemas Stable, long-lifetime schemas can be named with a URI scheme, which is registered with IANA

4 Properties: Name/Instance Distinction
A property name URI names the syntax and semantics of the property. “live” properties: server maintains consistency by enforcing syntax and semantics non-live properties: client enforces syntax and semantics (property may be inconsistent) Benefits: server can provide properties with values it generates client can define new properties unknown to the server major benefit: flexibility

5 Properties: Value is XML element
The value of a property is a well-formed XML (eXtended Markup Language) element XML is a subset of SGML XML specification is being developed by the W3C, is currently very stable, should be a W3C Recommendation later this year. Benefits: i18n support: XML supports ISO encoding of characters

6 Properties: PROPPATCH
PROPPATCH method is used to create and remove properties from a resource Benefits: simple method handles modification to the state of a property can modify several properties at once, with one network round trip

7 Properties: FINDPROP (SEARCH)
FINDPROP retrieves a list of properties from a resource Benefits: can retrieve several (all) properties with a single network round trip

8 Property URLs A server may provide a mapping of a property instance to a URL GET retrieves the value of a property DELETE removes a property Benefits: allows use of HTTP methods on properties (as appropriate, e.g., COPY, GET, DELETE, …) GET allows quick, direct access to property values (1 round trip, no request body needed)

9 Links using Properties
A link is a property XML elements defined in the WebDAV specification are used to describe the source and destination(s) of the link Benefits: treats links like any other descriptive information allows creation of links (relationships) on any content type XML format allows extra descriptive information to be added to a link by using extra tags

10 Collections A collection is a set of URIs listing the member resources
internal member resources are immediately relative URIs an immediately relative URI is a relative URI in which “../” is illegal, which must begin with “./” and which may contain only one other “/” at theend of the URI external members resources are absolute URIs which are not internal URIs Benefits: Provides a resource type which can model file system directories and arbitrary collections of resources (which may be located on multiple servers)

11 Direct Containment An internal member resource is directly contained by the collection server maintains containment relationship between collection and member if a resource is created (PUT), it is automatically added to the collection if a resource is deleted (DELETE), it is automatically removed from the collection Benefits: membership of collections automatically updated allows existing RFC 2068 methods to work as-is

12 Referential Containment
An external member resource (symbolic link) is referentially contained by the collection server does not maintain the containment relationship between the collection and the member if the member is deleted or moved, the collection typically does not get updated if the moved/deleted resource and collections containing it as an external member are on the same server, an intelligent server could update collections it controls in the general case where the moved/deleted resource and the collection are on different servers, nothing can be done without a server-to-server protocol (out of scope for WebDAV)

13 Collections: MKCOL The MKCOL method creates a new collection
MKCOL can be invoked with a request body No request body: empty collection is created Request body: media-type specific results primarily to reserve body for future capability Benefits: a simple method is used to create a collection MKCOL method avoids problems with adding collection creation semantics to PUT

14 Collections: INDEX INDEX lists the members of a collection, along with selected properties Properties which must be returned by INDEX are: IsCollection, Content-Type, Creation-Date, Last-Modified, DisplayName, Content-Language, and Etag (entity tag) Response is an XML document Response from INDEX is cacheable (and has an associated entity tag)

15 INDEX Benefits Benefits of INDEX method:
allows discovery of members of a collection can be used by caches to efficiently validate all members of a collection with a single network round-trip provides “Save As” dialog box support XML return format provides extensibility for other properties (e.g. access control information)

16 Collections: ADDREF/DELREF
ADDREF method adds an external member to a collection DELREF method removes an external member from a collection Benefits: Simple methods for adding/removing external members from a collection, does not require a request body Separate methods support separate access control

17 Namespace Management: COPY
COPY method duplicates an HTTP resource, property or collection Recursive behavior for collections controlled by Depth header (a discussion issue) Copies are performed by-value Benefits: allows duplication of resources without needing to transmit them over the wire twice.

18 COPY Options Overwrite header can disable overwriting the destination
Enforce-Live-Properties header lists properties which must be live on the destination or the copy must fail Duplicate-Properties header can disable copying of properties Benefits: prevent overwriting of existing data fine-grain control over the copying of properties

19 Namespace Management: MOVE
MOVE method is defined as a COPY followed by a DELETE of the old location All COPY options apply to MOVE as well Benefits: allows the renaming of resources allows positioning the resource in a different location in the hierarchy method is performed without needing to transmit the resource over the wire twice more efficient than separate COPY and DELETE

20 Source Link Problem: a GET of dynamic content retrieves the dynamically generated result, which is not suitable for authoring Solution: a source link points to a location where the unprocessed source of the dynamic resource can be retrieved Benefits: allows editing of server-side includes, CGI scripts, and other dynamic content


Download ppt "WebDAV Design Overview"

Similar presentations


Ads by Google