WebDAV Design Overview - PowerPoint PPT Presentation

About This Presentation
Title:

WebDAV Design Overview

Description:

'large' chunks of descriptive data are stored as full resources, using a link to ... More frequently accessed small-chunk data is more efficient than large chunk data ... – PowerPoint PPT presentation

Number of Views:68
Avg rating:3.0/5.0
Slides: 21
Provided by: Micro310
Learn more at: https://ics.uci.edu
Category:

less

Transcript and Presenter's Notes

Title: WebDAV Design Overview


1
WebDAVDesign 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 10646 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
Write a Comment
User Comments (0)
About PowerShow.com