# WebDAV
Jigsaw, a WebDAV server

Jigsaw Home / Documentation Overview / Tutorials

This Page
What is WebDAV?
A WebDAV server

Jigsaw Links

W3C Links
XML
HTTP

WebDAV Links
RFC 2518
webdav.org
FAQ
DAV in 2 minutes

# 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:

      org.w3c.jigsaw.daemon.handlers=http-server|admin-server
      http-server.org.w3c.jigsaw.daemon.class=org.w3c.jigsaw.webdav.webdavd
      admin-server.org.w3c.jigsaw.daemon.class=org.w3c.jigsaw.admin.AdminServer

  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.

  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.