Mapping DAV link properties to HTML/Atom/Http link relations

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Mapping DAV link properties to HTML/Atom/Http link relations

Julian Reschke


some while ago, the Atom feed format has introduced link relations that
either can use a short name (through an IANA registry), or a full URI as
generalizes this concept, introducing a single registry for both (X)HTML
and Atom link relations, and also re-introduces the HTTP Link header
(defined in RFC 2068, but dropped from RFC 2616).

In WebDAV, we already have properties of type link implicitly (by
containing DAV:href elements). So, for instance, the DAV:checked-in
property defined in
<>, could
be interpreted to also define a link relation identified by the URI

Potential benefits:

1) Use in HTTP Link Header

A server could expose the property value in an HTTP response header,
independently of WebDAV:

HEAD /foobar HTTP/1.1

HTTP/1.1 200 OK
Content-Type: text/plain
Link: </versions/foobar/1>; rel="DAV:checked-in"

2) Response bodies of WebDAV requests that affect the set of links could
be made more useful, such as in:


HTTP/1.1 201 OK
Content-Type: application/xml+xhtml
Content-Length: xxx

<html xmlns="">
     <title>Resource put under Version Control</title>
       The resource has been put under version control; the
       version history is located at <a rel="DAV:version-history"
href="/histories/123">/histories/123</a>, and the initial version is <a
rel=DAV:checked-in" href="/versions/456">/versions/456</a>.

Open issue: WebDAV uses QNames to identify properties, and they do not
always map well to absolute URIs -- the simplest approach to address
this is by choosing namespace URIs wisely...

Feedback appreciated,