> ### Apache HTTP Server Version 2.0

> # Apache Module mod_dav

> Description: | <description>Distributed Authoring and Versioning (WebDAV) functionality</description>
> Status: | Extension
> Module Identifier: | dav_module

> ## Summary

> This module provides class 1 and class 2 WebDAV ('Web-based Distributed Authoring and Versioning') functionality for Apache. This extension to the HTTP protocol allows creating, moving, copying, and deleting resources and collections on a remote web server.

> To enable mod_dav, add the following to a container in your `httpd.conf` file:

> > `Dav On`

> Also, specify a valid filename for the DAV lock database by adding the following to the global section in your `httpd.conf` file:

> > `DavLockDB /tmp/DavLock (Any web-server writable filename, without an extension)`

> ## Directives

> - Dav
> - DavDepthInfinity
> - DavLockDB
> - DavMinTimeout

> ## Dav Directive

> Description: | Enable WebDAV HTTP methods
> Syntax: | <syntax>Dav on|off</syntax>
> Default: | `Dav off`
> Context: | directory
> Status: | Extension
> Module: | mod_dav

> <usage>

> Use the `Dav` directive to enable the WebDAV HTTP methods for the given container. You may wish to add a `<Limit>` clause inside the `<location>` directive to limit access to DAV-enabled locations.

> > Example `DavLockDB /tmp/DavLock <Location /foo> Dav On AuthType Basic AuthName DAV AuthUserFile user.passwd <LimitExcept GET HEAD OPTIONS> require user admin </LimitExcept> </Location>`

> </usage>

> ## DavDepthInfinity Directive

> Description: | Allow PROPFIND, Depth: Infinity requests
> Syntax: | <syntax>DavDepthInfinity on|off</syntax>
> Default: | `DavDepthInfinity off`
> Context: | directory
> Status: | Extension
> Module: | mod_dav

> <usage>

> Use the `DavDepthInfinity` directive to allow the processing of PROPFIND requests containing the header 'Depth: Infinity'. Because this type of request could constitute a denial-of-service attack, by default it is not allowed.

> </usage>

> ## DavLockDB Directive

> Description: | Location of the DAV lock database
> Syntax: | <syntax>DavLockDB file-path</syntax>
> Context: | server config, virtual host
> Status: | Extension
> Module: | mod_dav

> <usage>

> Use the `DavLockDB` directive to specify the full path to the lock database, excluding an extension. The default (file system) implementation of mod_dav uses a SDBM database to track user locks. The utility `modules/dav/util/lockview` can be used from the server to display all locks in a lock database.

> > Example `DavLockDB /tmp/DavLock`

> </usage>

> ## DavMinTimeout Directive

> Description: | Minimum amount of time the server holds a lock on a DAV resource
> Syntax: | <syntax>DavMinTimeout seconds</syntax>
> Default: | `DavMinTimeout 0`
> Context: | directory
> Status: | Extension
> Module: | mod_dav

> <usage>

> When a client requests a DAV resource lock, it can also specify a time when the lock will be automatically removed by the server. This value is only a request, and the server can ignore it or inform the client of an arbitrary value.

> Use the `DavMinTimeout` directive to specify, in seconds, the minimum lock timeout to return to a client. Microsoft Web Folders defaults to a timeout of 120 seconds; the `DavMinTimeout` can override this to a higher value (like 600 seconds) to reduce the chance of the client losing the lock due to network latency.

> > Example `<Location /MSWord> DavMinTimeout 600 </Location>`

> </usage>

> ### Apache HTTP Server Version 2.0