W3C logo

Jigsaw, a WebDAV server

Jigsaw Home / Documentation Overview / Tutorials

What is WebDAV?

"WebDAV stands for "Web-based Distributed Authoring and Versioning". It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers." webdav.org

WebDAV is an XML based protocol, it defines a set of new methods (PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK) and a set of new headers (DAV, Depth, If, Destination, ...). A good overview of WebDAV: WebDAV in 2 minutes

The Jigsaw implementation of WebDAV is based on RFC 2518.

Jigsaw a WebDAV server

Download the WebDAV distribution of Jigsaw, or if you want to have fun, configure your Jigsaw by yourself.
Note about PASSWORD: The default webdav user is "jigsaw" and the default password is "jigsaw". Of course it is safe to change the password asap, please read the tutorial about authentication.

Here we describe the process to turn Jigsaw into a WebDAV server.

Change the server class
The usual server class is org.w3c.jigsaw.http.httpd, the one used for WebDAV is org.w3c.jigsaw.webdav.webdavd. So edit [jigsaw-home]Jigsaw/Jigsaw/config/servers.props, you should have something like:
Then, restart Jigsaw.
Create a WebDAV indexer
The DAV indexer is based on the default indexer of the classic http server, replace the HTTPFrames by some DAVFrames (org.w3c.jigsaw.webdav.DAVFrame) and set the following flags:

  • Putable: true if you want to be able to update the resource using WebDAV.
  • Allow Delete: true if you want to be able to delete some resource using WebDAV.

DAV indexer

Now set the indexer of the root resource (for example) to DAV-indexer.

Configure Authentication
Of course it is safe to restrict access of method like PUT, DELETE, MKCOL, LOCK... So you should read the Authentication tutorials in order to create WebDAV user.

DAV authentication