WebDAV Redirector Registry Settings

Following up on the release of the WebDAV module for IIS 7, I've been experimenting with the WebDAV redirector that comes with Windows Vista and Windows Server 2008. This redirector ships as an updated WebClient service, and if you're using Windows Vista it should already be installed, but on Windows Server 2008 you will need to install the "Desktop Experience" feature. Once installed, you can map drives to WebDAV shares much like mapping

Through some experimentation, I discovered some WebClient service behaviors that I wanted to explain. For example, if I tried to map a drive to a web site that did not have WebDAV enabled I would get an error as expected. But after I enabled WebDAV, I would continue to get an error until some period of additional time had passed. I assumed that the status was somehow cached, and I was curious as to whether I could control that caching. I eventually discovered that there are several settings that control the behavior of the WebDAV redirector that can be configured in the following registry key :

HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters

I found a variety of sources that documented one setting or another but I couldn't find a concise list, so I've collected the following list that contains what I've been able to discover so far:

Value & Description Type Values Default
AcceptOfficeAndTahoeServers

Specifies whether the WebClient service can connect to web sites that are running SharePoint or Office Web Server.

DWORD
0 = False
1 = True
1
BasicAuthLevel

Specifies whether the WebClient service can use basic authentication to talk to a server.

Note: Using basic authentication can cause serious security issues as the username/password are transmitted in clear text, therefore the use of basic authentication over WebDAV is disabled by default unless the connection is using SSL. That being said, this registry key can override the default basic authentication behavior, but it is still strongly discouraged.

DWORD
0 = Basic authentication is disabled
1 = Basic authentication is enabled for SSL web sites only
2 = Basic authentication is enabled for SSL and non-SSL web sites
1
FileAttributesLimitInBytes

Specifies  the maximum size that is allowed by the WebClient service for all properties on a specific collection.

DWORD Size of attributes in bytes 1,000,000 decimal
(1 MB)
FileSizeLimitInBytes

Specifies the maximum size in bytes that the WebClient service allows for file transfers.

DWORD File size in bytes 50,000,000 decimal
(50 MB)
InternetServerTimeoutInSec

Specifies the connection timeout for the WebClient service uses when communicating with non-local WebDAV servers.

DWORD Time in seconds 30 decimal
LocalServerTimeoutInSec

Specifies the connection timeout for the WebClient service uses when communicating with a local WebDAV server.

DWORD Time in seconds 15 decimal
SendReceiveTimeoutInSec

Specifies the timeout in seconds that WebDAV the WebClient service uses after issuing a request, such as “GET /file.ext” or “PUT  /file.ext”.

DWORD Time in seconds 60 decimal
ServerNotFoundCacheLifeTimeInSec

Specifies the period of time that a server is cached as non-WebDAV by the WebClient service.

Note: The WebClient service maintains a list of non-WebDAV servers that have been contacted. If the server is found in this list, a fail is returned immediately without attempting to contact the server.

DWORD Time in seconds 60 decimal
SupportLocking

Specifies whether the WebClient service supports locking.

DWORD
0 = False
1 = True
1

Note: After changing any of these settings you will need to restart the WebClient service.

I hope this list helps someone else. ;-]

No Comments