Работа с webdav windows

В рамках услуги Хранилище данных доступна возможность подключения по протоколу WebDAV. Для подключения можно использовать как специализированные программы, так и обычный файловый менеджер операционных систем Windows, MaсOS, Linux.

Рассмотрим пример подключения в Windows 10.

Реквизиты подключения доступны в разделе хранилища данных в личном кабинете. Для подключения нужна только ссылка с реквизитами WedDAV. Скопируйте её:

webdav111.png

Далее потребуется открыть в Windows проводник, нажать правой кнопкой на Этот компьютер и выбрать “Подключить сетевой диск…”:

webd2.png

В появившемся окне нужно будет выбрать желаемую букву диска, вставить ссылку с реквизитами, при необходимости отметить верхнюю галочку, чтобы подключение к диску восстанавливалось после перезагрузки, и нажать “Готово”:

webdav1.png

Даже со ссылкой с реквизитами Windows может попросить ввести логин и пароль. После этого подключение будет выполнено и хранилище станет доступно как ещё один диск:

webdav4444.png

К сожалению, есть некоторые ограничения. В Windows протокол WebDAV работает только в 32-битном режиме, поэтому поэтому работать с файлами больше 4 Гб не получится. При этом лимит по умолчанию ещё ниже, и составляет несколько мегабайт.

Как увеличить лимит до 4 Гб

1) Открыть редактор реестра (Win+R -> regedit), перейти по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
2) Найти значение FileSizeLimitInBytes, кликнуть на него правой кнопкой и выбрать “Изменить…”
3) Выбрать десятичную систему, ввести значение 4294967295 и нажать “ОК”
4) Перезагрузить компьютер для применения имзенений

Если же потребуется работать с файлами больше 4 Гб, то можно использовать FTP или SFTP.

Привет, друзья. Недавно на сайте была опубликована статья о двух программках Air Live Drive и Air Explorer, реализующих в среде Windows доступ к различным облачным сервисам по типу локальных дисков. Эти программы предлагают большой перечень готовых настроек подключения популярных облаков. Но в бесплатных редакциях они ограничены возможностью подключения к системе не более 3-х хранилищ с одним аккаунтом. Некоторых из вас смутили такие ограничения, и в этой статье я решил осветить процедуру совершенно бесплатного подключения облаков в среду Windows в качестве сетевых дисков по протоколу WebDav. Ну и заодно поговорим о специфике подключения по WebDav.

WebDav – это набор расширений и дополнений к протоколу HTTP, который позволяет управлять файлами на удалённых серверах. Облако – это и есть этот самый удалённый сервер. Преимущество подключения облака по WebDav заключается в том, что все наши данные будут нам доступны в среде Windows без их скачивания на жёсткий компьютера, как это реализуют официальные программы-клиенты облаков. Только при запуске и редактировании файлов облачного хранилища, подключённого по WebDav, эти файлы будут скачиваться в системный кэш, а потом выгружаться из него назад в облако. С хранящимися в облаке файлами можем удалённо проводить любые управленческие операции – копирование, перемещение, переименование, удаление – с использованием проводника Windows или любого установленного файлового менеджера.

Кроме того, что подключение по WebDav не захламляет место на локальном компьютере, оно имеет ещё одно преимущество перед официальным клиентским софтом облаков – отсутствие лишних фоновых процессов для обеспечения функционирования клиента и синхронизации данных. Что немаловажно для слабых устройств.

В чём подключение по WebDav уступает официальному клиентскому софту облачных сервисов?

Во-первых, в скорости доступа к данным. Управление будет осуществляться по типу удалённого доступа, и, естественно, операции не будут проводиться так быстро, как в условиях работы с жёстким диском компьютера.

Во-вторых, мы не получим удобной возможности расшаривания ссылок на файлы – в контекстном меню в проводнике или файловом менеджере, как это реализует официальный клиентский софт. Чтобы сделать файл общедоступным и получить его ссылку, нам нужно будет отправиться в веб-интерфейс облака.

В-третьих, не все облачные хранилища предусматривают подключение по WebDav. В их числе, кстати, популярные сервисы Google Диск и Облако Mail.Ru. В таком случае можно либо прибегнуть к помощи сервисов, которые решают эту проблему и реализуют доступ к облаку по WebDav, как, например, сервис DAV-pocket service, либо использовать программы с готовыми пресетами настроек нужных хранилищ. Об одной из таких программ будем говорить ниже.

Как в среде Windows подключить облачный диск по WebDav?

Подключить облачное хранилище по WebDav можно с использованием штатных средств Windows.  В проводнике Windows 8.1 и 10 кликаем вкладку «Компьютер». В проводнике Windows 7 жмём клавишу Alt, выбираем «Сервис». Жмём «Подключить сетевой диск».

В окне подключения можем выбрать букву диска для содержимого облака. В графе «Папка» вводим адрес подключения облака по WebDav. Жмём «Готово».

Авторизуемся в облаке. Выставляем галочку запоминания данных авторизации. Жмём «Ок».

В проводнике должен появиться облачный диск. Можем переименовать его так, как удобно нам.

Если облачный диск станет не нужен, отключаем его в контекстном меню.

Вот так всё просто, если, конечно, знать адрес WebDav. Как узнать этот адрес? 

• Для Яндекс.Диска это https://webdav.yandex.ru 

• Для Box это https://box.net/dav

• Для OneDrive это https://docs.live.net/Идентификатор

В случае с OneDrive вместо значения «Идентификатор» необходимо подставить свой уникальный код, который отображается в веб-интерфейса хранилища после значения «id=».

Ну а адреса подключения других облаков, если они поддерживают доступ по WebDav, вы, друзья, можете найти в Интернете. Либо же можете обратиться в службу поддержки сервиса.

Альтернативный способ подключения облачных хранилищ по WebDav – программа RaiDrive. Она полностью бесплатная, это аналог упомянутой выше программы Air Live Drive. RaiDrive не ограничена числом подключаемых сервисов и их аккаунтов, однако, в отличие от Air Live Drive, предлагает весьма скудный перечень готовых настроек подключения облаков. У RaiDrive есть поддержка только Google Drive, Google Photos, Dropbox и OneDrive. Все остальные облачные сервисы подключаются по WebDav, FTP или SFTP при указании нами их адресов. Скачать программу можно на её официальном сайте:

RaiDrive как альтернатива Air Live Drive, конечно же, уступает последней. Но если Raidrive рассматривать как альтернативу штатному способу подключения облаков по WebDav, то у неё есть несколько преимуществ:

• Удобство подключения/отключения сетевых дисков;

• Возможность выбора папки кэша;

• Корректность отображения в проводнике общего и занятого облачного пространства. При подключении по WebDav штатными средствами Windows по объёму хранилищ отображаются неверные сведения.

Как работать с RaiDrive? Запускаем программку. Жмём «Добавить». WebDav в качестве типа подключения выбран по умолчанию. Вводим адрес, логин и пароль аккаунта облака. Жмём «Ок».

В окне RaiDrive подключением можем управлять – отключать, включать, удалять.

Предустановленную папку кэша программы можно сменить в настройках.

***

Облачные хранилища данных становятся всё более востребованными, как среди частных пользователей, так и среди компаний. При этом некоторые интернет сервисы хранения файлов предоставляют возможность доступа к своему облаку по протоколу WebDAV (Web Distributed Authoring and Versioning).

Преимущества доступа по webdav по сравнению с веб доступом:

  • работа с файлами в автоматическом режиме (скачивание/закачивание bat файлами и скриптами JS/VBS/PS), то есть, в первую очередь, это означает возможность автоматического сброса резервных копий на интернет хранилище
  • подключение облака как сетевого диска (обычного network drive) с присваиванием буквы логического диска (E:, F: и т.д.), другими словами, возможность работы с облачными файлами из обычных программ (офисные пакеты, графические редакторы и т.п.)
  • возможность заливать большие файлы (обычно веб интерфейс позволяет закачивать в хранилище файлы до 2 ГБ). Здесь надо отметить, что бесплатные аккаунты часто ограничены в размере файлов по сравнению с платными, например, на Box бесплатно можно хранить файлы размером не более 250 МБ (на Business аккаунтах размер файла может составлять до 5 ГБ, на Enterprise вроде до 15 ГБ); правда, с большими файлами есть и другие проблемы, но об этом ниже

Статья расскажет о возможностях использования WebDAV в различных программах, особенностях подключения вручную и из командной строки/bat файлов, распространенных проблемах и их решениях.

WebDAV в FAR Manager

Работать с файловым хранилищем по WebDAV можно и без подключения сетевого диска, если использовать плагин NetBox в Far Manager, при этом файлы будут доступны в самом Far Manager, но недоступны в командной строке и в других программах, например, в проводнике Windows.

Эта функция Windows позволяет получить доступ к файлам по WebDAV не только в файловых менеджерах (Far Manager и т.д.), но также и в командной строке и в проводнике Windows.

В Windows 7 есть встроенный веб клиент, который подключает облако WebDAV как обычный сетевой диск с присваиванием буквы. При подключении следует ввести адрес, который зависит от хранилища.

Строка подключения WebDAV для Яндекс.Диска:

https://webdav.yandex.ru

Подробные инструкции с картинками: Доступ к Яндекс.Диск через WebDAV

Строка подключения WebDAV для Box:

https://dav.box.com/dav

Подробные инструкции с картинками: Does Box support WebDAV?

Строка подключения WebDAV для OneDrive потребует cid – это идентификатор учетной записи, его можно посмотреть в адресной строке браузера, если открыть веб-интерфейс OneDrive:

https://d.docs.live.net/cid

Облако Mail.ru тоже предлагает доступ по WebDAV, хотя и только на платных тарифах.

Строка подключения WebDAV для Mail.ru:

https://webdav.cloud.mail.ru/

Подключение WebDAV из командной строки Windows

Также можно использовать возможности командной строки – команда NET USE успешно подключает WebDAV хранилища, например, эта команда подключает папку Яндекс.Диск в виде логического диска Y:

 net use Y: https://webdav.yandex.ru password /user:email_address /persistent:yes

Эта команда для подключения папки Box в виде логического диска X:

net use X: https://dav.box.com/dav password /user:email_address /persistent:yes

Чтобы подключить OneDrive к букве O: (значение cid берётся из адресной строки браузера в веб-итерфейсе OneDrive:

net use O: https://d.docs.live.net/cid password /user:email_address /persistent:yes

Чтобы подключить OneDrive к назначаемой автоматически букве диска:

net use * https://d.docs.live.net/cid password /user:email_address /persistent:yes

Хотя можно выбрать автоматический выбор буквы диска (указанием звёздочки), я предпочитаю использовать фиксированные буквы — это упрощает работу с командными файлами.

Примечание: параметр /persistent:yes необязательный, он задаёт автоматическое восстановление подключения при перезагрузке компьютера, подробнее об этом см. ниже.

После подключения можно пользоваться стандартными командами для работы с файлами, например:

copy backup.zip y:\backup

Проблемы с большими файлами

Операции (скачивания, закачивание) над небольшими файлами проходят отлично. Однако при большем размере файла (50 МБ и более) возникают проблемы. Например, появляется сообщение Delayed Write Failed (Ошибка отложенной записи), а размер закачанного файла оказывается 0 байт.

Для решения этих проблем можно попробовать изменить параметры клиента, как это описано ниже, подробнее см. в статье You cannot download more than 50 MB or upload large Files when the upload takes longer than 30 minutes using Web Client in Windows 7

Но в действительности получилось закачать файл 300 МБ только командой xcopy с отключением буферизации:

xcopy *.zip y:\backup /Y /Z /V /J

Копирование закончилось успешно, при том что не получилось ни проводником Windows, ни copy /y /z /v.

Лимит на размер файла

Исходное значение 50 000 000 байт. Задается в байтах параметром реестра:

DWORD FileSizeLimitInBytes

в разделе:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters

Например, можно задать 500 000 000.

Таймаут

Исходное значение 1800 секунд или 30 минут, поэтому операции более 30 минут прерываются. Значение таймаута задается в секундах параметром реестра:

DWORD FsCtlRequestTimeoutInSec

в разделе:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MRxDAV\Parameters

В статье рекомендуется значение 3600, т.е. 3600 секунд или один час.

Производительность wevdav хранилищ

Это очень интересный вопрос для резервного копирования, потому что нам надо понимать, сколько времени будет занимать копирование файла резервной копии на сервер по webdav, ведь размер такого файла может быть и 100МБайт, и 1 ГБайт и больше.

Следующий тест показывает время выгрузки файла 188 МБ на Яндекс Диск по webdav. Подключение к интернету 100 Мбит/с, поэтому на выгрузку существенно не влияет. Для регистрации времени начала и окончания копирования используется программа nhts.

C:\Users\username\Documents>dir *.zip
11.09.2015  15:55       197 858 220 backup-20150911.zip

C:\Users\username\Documents>nhts HH:mm:ss 'Запуск' & xcopy backup-2015091
1.zip y:\backup /Y /Z /V /J & nhts HH:mm:ss 'Завершено'
15:58:05 Запуск
C:backup-20150911.zip
Скопировано файлов: 1.
15:58:43 Завершено

В итоге, файл 188 МБ был скопирован за 38 секунд, то есть скорость выгрузки составила 4,9 МБ/с или 40Мбит/с – хороший результат для резервного копирования. Соответственно, файл 1 ГБ будет загружен на сервер примерно за 3,5 минуты.

Теперь такой же тест для Box (он подключен к X:):

C:\Users\username\Documents>nhts HH:mm:ss 'Запуск' & xcopy backup-2015091
1.zip x:\backup /Y /Z /V /J & nhts HH:mm:ss 'Завершено'
16:09:57 Запуск
C:backup-20150911.zip
Скопировано файлов: 1.
16:11:49 Завершено

Box работает помедленнее – время копирования того же файла составило 112 секунд, и, соответственно, скорость копирования составила 1,7 МБ/с или 13,4 Мбит/с. При такой скорости время копирования 1ГБ файла составит больше 10 минут. Сам Box пишет, что для business и enterprise аккаунтов есть какая-то оптимизация для повышения скорости копирования на сервер, см. How can I optimize my upload speeds?

Понятно, что скорость копирования может меняться в зависимости от загрузки каналов связи или серверов, но видно, что Яндес Диск быстрее, и с учетом ограничения на размер файла в 250 МБ в Box предпочтительнее для резервного копирования использовать бесплатный Яндекс Диск, чем бесплатный аккаунт Box.

Возможные проблемы и их решение

При появлении проблемы подключения важно определить, какую именно ошибку сообщает программа – чтобы делать правильные действия для её устранения.

Ошибка 67 — не найдено сетевое имя

Ошибка 67 означает, что не удалось найти сервер по указанному в команде сетевому имени. В английской версии Windows эта ошибка описывается как «The network name cannot be found».

В первую очередь необходимо проверить, правильно ли в команде набран протокол и адрес webdav сервера, например, для Яндекс.Диска должно быть:

https://webdav.yandex.ru

Во-вторых, проверить разрешение сетевого имени – сервер должен быть доступен:

C:\Windows\System32>ping webdav.yandex.ru

Pinging webdav.YANDEX.ru [87.250.251.53] with 32 bytes of data:
Reply from 87.250.251.53: bytes=32 time=46ms TTL=51
Reply from 87.250.251.53: bytes=32 time=35ms TTL=51
Reply from 87.250.251.53: bytes=32 time=62ms TTL=51
Reply from 87.250.251.53: bytes=32 time=38ms TTL=51

Ping statistics for 87.250.251.53:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 35ms, Maximum = 62ms, Average = 45ms

Если сервер неизвестен или не отвечает, то явно что-то не так с интернет подключением.

Если сетевое имя сервера указано корректно, сервер успешно пингуется, но подключение с правильными параметрами всегда завершается ошибкой 67, то причиной проблемы является блокировка подключения со стороны локальной сети. Например, у меня на работе происходит именно так, потому что доступ к интернет хранилищам по WebDav заблокирован администраторами намеренно, наверное, чтобы предотвратить слив информации на сторону. Чтобы убедиться, что причина именно в этом, необходимо попробовать подключение с точно такими же параметрами, но из другой сети, лучше из домашней, потому что операторы обычно не блокируют WebDAV коммуникации. Если проверка подтвердила, что локальные админы блокируют подключение, то решить проблему можно только через них.

Ошибка 1244 — пользователь не зарегистрирован

Полный текст ошибки: «Запрошенная операция не была выполнена, так как пользователь не зарегистрирован».
Эта ошибка означает, что сервер не получил правильные логин и пароль пользователя. Причины могут быть разные, как неправильный ввод имени или пароля, так и ввод их в неправильном месте команды.

Поэтому при этой ошибке я проверяю, что пароль введён правильно и находится между адресом сервера и параметром /user.

Также сложность может возникнуть, если пароль содержит спецсимволы, имеющие особое значение в командных cmd/bat файлах, потому что эта часть строки может быть интерпретирована неправильно. Чтобы это проверить, можно попробовать временно указать звёздочку вместо пароля, тогда программа запросит пароль после запуска. Если подключение при вводе пароля по запросу сработает, то надо проверить пароль на наличие недопустимых символов. Например, у меня один из паролей содержал символ амперсанда ‘&’, и это приводило к ошибке 1244. Обойти ошибку удалось, заключив пароль в кавычки. Но если в пароле есть символ кавычек, то это обойти, скорее всего, не удастся – лучше изменить пароль, исключив из него кавычки.

Действия с хранилищем в командном файле

Как проверить, что хранилище подключено

Проверка того, что подключение установлено, и сервер доступен, может потребоваться в командных файлах. Её можно выполнить командой IF EXIST.

Например, cmd/bat файл для подключения WebDAV проверяет, если диск уже подключен, то сразу выходит:

if exist Y:\* echo Already connected. & exit /b 0

Или cmd/bat файл резервного копирования проверяет перед выгрузкой, что сетевой диск доступен:

if not exist Y:\* echo Not connected. & exit /b 1

Копирование файлов по WebDAV

Из-за буферизации на стороне клиента в стандартной COPY или в проводнике возможна потеря данных, поэтому рекомендуется использовать XCOPY с отключением буферизации и с контролем размера.

xcopy *.zip y:\backup /Y /Z /V /J

Автоматическое подключение сетевого диска

Возможность для автоматического подключения сетевого диска при загрузке компьютера на самом деле уже есть и включается параметром /persistent:yes (см. выше).

Недостаток этого решения состоит в том, что при загрузке компьютера делается только одна попытка подключения диска. Если на этот момент не было сетевого подключения или временно сервер был недоступен, то диск так и останется не подключенным.

Та же проблема возникает, если в автозагрузку вставить только команду подключения:

 net use Y: https://webdav.yandex.ru password /user:email_address /persistent:yes

Подключение сетевого диска с проверкой и повтором

Чтобы сделать более надёжное решение, использую cmd/bat файл с проверкой результата и повтором попытки:

@echo off
if exist y:\* echo Already connected. & exit /b 0
:connect
net use y: https://webdav.yandex.ru password /user:nhutils@yandex.ru
if errorlevel 1 ping 127.0.0.1 -n 60 > nul & goto connect

В случае ошибки NET USE попытка подключения повторяется через 1 минуту. Задержка делается с помощью ping, подробнее см. Как сделать задержку в командном файле.

Этот командный файл можно запускать вручную или через автозагрузку.

Чтобы не мешало чёрное окно bat файла, можно спрятать его путём запуска через wsh скрипт, см. Скрыть консольное окно.

Файлы для скачивания

Командные файлы подключения по WebDAV

Все скрипты и командные файлы

См. также

WebDAV (Web Distributed Authoring and Versioning)

Клиенты облачных хранилищ как альтернатива WebDAV
Клиентские программы облачных дисков предлагают возможность работы с удаленными файлами без хранения их на компьютере.

Как сделать задержку в командном файле
Несколько способов, как запрограммировать задержку по времени в bat файле CMD/BAT: варианты с фиксированным временем ожидания ping -n, sleep.exe из Windows XP Resource Kit и скрипт WSH/JScript, а также вариант с ожиданием нажатия клавиши timeout /t.

Mini-Redirector is a Microsoft WebDAV client that is provided as part of Windows. Here we will describe mini-redirector provided with Windows 10, Windows 8, Windows 7 and Windows Vista.

Important! Mini-Redirector is not installed by default on Windows Server 2008 and later Windows Server versions. To enable it, install the Desktop Experience feature.

For Web Folders client provided with Windows XP and Windows Server 2003 please see this article.

For how to mount a drive to WebDAV server please see this article.

Specifying WebDAV Server Url in Windows Explorer Address Bar

The fastest way to connect to WebDAV server on Windows is to use Windows Explorer address bar. Windows Shell recognizes special URI format that looks like:

\\server@SSL@port\DavWWWRoot\path\

The ‘@port’ segment is optional if the default port 80 or 443 is used, as well as you should specify ‘@SSL’ only if SSL/HTTPS is required. You can also avoid DavWWWRoot (see below).

For example to connect to the root of your WebDAV server running on port 5555 specify in the address bar in Windows Explorer:

\\server@5555\DavWWWRoot\

To connect to WebDAV server that is using SSL and running on a non-default port 4444 you must specify:

\\server@SSL@4444\DavWWWRoot\ 

What is DavWWWRoot?

DavWWWRoot is a special keyword recognized by Windows Shell. There is no such folder exists on your WebDAV server and you should not create it. You also will not find any DavWWWRoot name in requests to your server. The DavWWWRoot keyword tells Mini-Redirector driver, that handles WebDAV requests, that you are connecting to the root of WebDAV server.

You can avoid using this keyword if you specify the folder that exists on your server when connecting to the server. For example:

\\webdavserver.com\sales\

in this case DavWWWRoot will not appear in URLs.

Special Characters Support in Windows Shell

Note that Microsoft mini-redirector does not support ‘%’ symbol in file and folder names. It would not encode it correctly. As though you cannot name your items my%file.docx and my%folder. However, this does not pertain to any other special characters encoding — Windows Shell will correctly encode them using percent encoding.

Long Delays When Connecting and Browsing WebDAV Server

In some environments, you may experience long delays when browsing WebDAV server. In many cases, they are caused by a proxy or firewall server. The first thing to try is to uncheck the ‘Automatically Select Settings‘ checkbox in LAN Settings dialog:

Uncheck the Automatically Setect Settings

Using Basic Authentication

Basic authentication requires SSL/HTTPS connection to be used. By default, the Windows WebDAV client will fail to connect to insecure WebDAV server using Basic. However for development purposes you often will require to enable non-SSL access. In this case, you can use the workaround described here.

Credentials and Authentication Schema Caching

Windows Shell caches user credentials authentication scheme that may cause various issues when developing WebDAV server. During the development, we recommend to leave the ‘Save credentials’ checkbox unchecked. If you have saved the credentials, you can clear credentials cache in the UI brought by the following command:

rundll32.exe keymgr.dll, KRShowKeyMgr

The above command will display a dialog with cached credentials in which you can delete them:

How to Delete Cached User Credentials

Debugging with Mini-Redirector HTTP Requests on localhost

In some cases, you may need to use the Visual Studio Development Server to develop your WebDAV applications (we recommend using IIS Express instead). As soon as the Development server is available on localhost only and you can not specify your computer name, Fiddler will not capture any requests. To debug WebDAV requests, you must specify ‘localhost.fiddler‘ instead of ‘localhost‘. For example:

http://localhost.fiddler:5555 

or

\\localhost.fiddler@5555\DavWWWRoot\ 

Next Article:

Connect to WebDAV server on Mac OS X

Setting up a WebDAV connection

  1. Open ‘Computer’ from your start menu or desktop
  2. Open the ‘Map network drive’ wizard
  3. Enter the full http:// address to your webdav installation

Note that you need to have the Web Client service enabled and running for Web
Client to work. Some OS versions have it disabled, e.g. Windows Server 2003.
Additional some optimisation instructions lead to it being disabled.

You can also map a drive on the command line by typing:

net use * http://example.org/dav/

Using Basic Auth

Basic Authentication is not supported on Windows by default, but you can turn
it on using the registry:

  • Create a new registry key called
    HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\UseBasicAuth and
  • Set the value to ‘1’ (without quotes).

It was also reported that in certain cases
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel
needs to be set to 2

  • KB928692
  • KB841215

Save the following to a .reg file and open it to simplify patching the
registry:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters]
"UseBasicAuth"=dword:00000001
"BasicAuthLevel"=dword:00000002

Make sure you restart the ‘WebClient’ service afterwards. You can do this via
Control Panel -> Performance And Maintanance -> Administrative Tools -> Services.

Issues

Windows clients have a wide range of technical issues, varying between
versions. This page aims to categorize them all and show a list of windows
versions where these issues have been confirmed.

The grid below has the following values:

  • ‘X’ — If there’s a known issue for that version.
  • ‘?’ — If the issue has not been confirmed for that version
  • Empty, if it’s definitely not an issue, or assumed it’s not an issue.
Issue name Windows XP Windows Vista Windows 7 Windows 8 Windows 8.1 Windows 10
performance X ? ? ?
vistabug X
root-1 X X
root-2 X
ms-author X ? ? ? ? ?
whitespace X ?
getlastmodified X
charactersets X ?
locking X ?
filesize X X X ?
displayname X ? ? ? ? ?
auth X X X X X X
port X ? ? ? ? ?
sni X X X X ? ?
caching X X X X

performance

Windows 7 has a serious performance issue with WebDAV volumes. By default,
accessing WebDAV volumes on Windows 7 is very slow.

The issue can be solved by unchecking «Automatic Detect Settings» in IE8 /
Tools / Internet Options / Connections / LAN Settings.

See this article with further information.

vistabug

On Windows Vista, if you use the Web Folders client, you may need to install
Software Update for Web Folders (KB907306) to avoid the following error:
«The folder you entered does not appear to be valid».

root1

These older implementations require the WebDAV service to sit at the root of a
domainname. There’s no way you can connect to a url deeper in the WebDAV
structure, because it will traverse every part of the path and make PROPFIND
requests. So you have to make absolutely sure you have SabreDAV installed on a
root url. If you are using apache, you can use mod_rewrite to map every single
request to your WebDAV server, for example:

RewriteEngine On
RewriteRule ^/(.*)$ /server.php [L]

root2

Windows XP has even more quirks, and will treat the root of your WebDAV server
as if it was connecting to an SMB server. You’ll notice that when you’re
connecting, you will only see directories the root folder and they have icons
similar to windows shared folders. You can only really perform operations
within subdirectories on your root.

So:

make sure it is installed on the root of your domain, and make sure all
operations happen within sub-directories of your share.
The easiest way to do this is by simply creating a single top-level /dav/
directory.

Windows XP requires the following HTTP header when making OPTIONS requests:

MS-Author-Via: DAV

whitespace

Windows XP does not like whitespace in xml body responses for PROPPATCH
and PROPFIND. Make sure you send back the xml response with no whitespace
at all. It took the author a very long time to figure this out.

getlastmodified

Windows XP requires a special format for the getlastmodified dav property in
the propfind response. An example is:

<d:getlastmodified xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/" b:dt="dateTime.rfc1123">Sat, 26 Apr 2008 18:00:18 -0400</d:getlastmodified>

This did no longer seem to be an issue with Windows XP SP3. Because this
actually causes an incompatibility with MS Office, this is removed as per
SabreDAV 1.7.4 and 1.8.2.

charactersets

Windows XP sends encoded characters in HTTP requests as ISO-8859-1. Possibly
even CP-1252, but this has yet to be verified.

A converter for this purpose has been included since SabreDAV-1.2.0alpha1.

However, this currently only works for converting the HTTP requests coming
from windows, and not yet responses to windows. Oddly enough, windows did seem
to accept UTF-8 strings. Files could be opened, but not written to. This is
probably only the case for UTF-8 filenames that don’t cleanly map to
ISO-8859-1. A workaround for this will probably not happen in the short-term.

These issues are verified on Windows XP SP3, but no testing has been done on
Windows Vista or Windows 7.

locking

Normally windows unlocks files with the following header in the UNLOCK request:

Lock-Token: <opaquelocktoken:98b0726b-b34f-4778-9c35-da3927b6fe36>

For some reason however, it will specify it incorrectly.

Lock-Token: opaquelocktoken:98b0726b-b34f-4778-9c35-da3927b6fe36

Starting SabreDAV 1.4.3 there’s a workaround for this behaviour.

filesize

Windows has introduced a file size limitation of 50000000 bytes in a security
update.

You may receive one of the following error messages while downloading a file
from a WebDAV volume:

  • «Cannot Copy FileName: Cannot read from the source file or disk» (Windows
    Vista or XP SP1 with security update 896426 installed)
  • «Error 0x800700DF: The file size exceeds the limit allowed and cannot be
    saved.» (Windows 7)
  • «An unexpected error is keeping you from copying the folder. If you continue
    to receive this error, you can use the error code to search for help with
    this problem.» (Windows 7)

The limitation can only be disabled on client side, by changing registry keys.
See this article for detailed instructions. Additional information is
also available in this kb article.

displayname

It was reported in earlier clients (XP at least, and perhaps Vista too) that
sending back a displayname can cause the client to use the displayname instead
of a url to access resources.

This will cause all kinds of bugs, so it’s best to avoid {DAV:}displayname
entirely. It was was reported that this bug was ‘fixed’ in Windows 7 by taking
out support for {DAV:}displayname entirely.

auth

HTTP Digest is support across the board. HTTP Basic auth can be used directly
from within IE, but will not work by default if you’re using Web Client, unless
WebDAV is used over SSL.

Basic auth can be enabled if the following registry change is made:

  • Create a new registry key called
    HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\UseBasicAuth and
  • Set the value to ‘1’ (without quotes).

It was also reported that in certain cases
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel
needs to be set to 2

  • KB928692
  • KB841215

Save the following to a .reg file and open it to simplify patching the
registry:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters]
"UseBasicAuth"=dword:00000001
"BasicAuthLevel"=dword:00000002

In some cases Windows will incorrectly prepend the NT domain to the username
with two backslashes. Example:

MYDOMAIN\\username

The workaround for this is making the user go through all the login prompts
(removing the NT domain), it will succeed after a while. It would also be
possible to automatically detect and strip out these usernames but that could
be problematic in relation to HTTP digest authentication.

port

It appears that Windows does not support ports other than the default (80).
Make sure your server is not running on a non-default http port.

sni

It was reported that the Windows 7 and 8 (and likely older clients as well) do
not support ‘SNI’ (server name identification), which is a technology that
allows virtual hosting of multiple HTTPS domains on one server.

If you’re running into issues with this, make sure you don’t host more than
one HTTPS-based domain off one ip address, or make sure that it’s the default.

In the case of apache, the default https server would be the top-most
virtualhost definition.

Furthermore it was reported that the WinHTTP API (used in the Windows WebDAV client)
doesn’t support TSLv1.1/TSLv1.2 connections. If you have restricted your server
config to only provide TLSv1.1 and above the connection to your server will fail.

See this article with further information.

caching

It was reported that Windows 7 has a 60 second cache, which may be frustrating
if you expect an immediate update.

This can be disabled using a registry key. See http://technet.microsoft.com/en-us/library/ee683963%28v=ws.10%29.aspx for more info.

upload timeouts

An upload of large files taking longer than 30 minutes using Web Client in
Windows 7 can cause the following error:

  • «Error: 0x80070079 The semaphore timeout period has expired»

See this kb article for detailed instructions how to raise the timeout.

Technical details

User agents:

Vista:
Microsoft-WebDAV-MiniRedir/6.0.6000

XP:
Microsoft-WebDAV-MiniRedir/5.1.2600
Microsoft Data Access Internet Publishing Provider DAV 1.1
Microsoft Data Access Internet Publishing Provider Cache Manager

Properties

Windows XP requests the following webdav properties when making requests:

  • name
  • parentname
  • href
  • ishidden
  • iscollection
  • isreadonly
  • getcontenttype
  • contentclass
  • getcontentlanguage
  • creationdate
  • lastaccessed
  • getlastmodified
  • getcontentlength
  • resourcetype
  • isstructureddocument
  • defaultdocument
  • displayname
  • isroot

Windows (XP and Vista) introduces the following properties under the
urn:schemas-microsoft-com: xml namespace:

  • Win32CreationTime (example: Sat, 26 Apr 2008 20:38:50 GMT)
  • Win32LastAccessTime (same format)
  • Win32LastModifiedTime (same format)
  • Win32FileAttributes (example: 00002020) indicates the classic MS-DOS properties, such as ‘read only, hidden, archive, system’ and a couple of newer ones. Haven’t located detailed docs yet

To easily take advantage of these properties, enable the propertystorage plugin.

Using Web Folders

Before Windows 7, Windows had a feature called ‘Web folders’. This is a
different WebDAV client with less features. This feature is removed in
Windows 7.

To use it:

# Open up Internet Explorer
# Press File, Open and fill in the full url
# Check the «Open as Web Folder» setting
# Press Ok

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows server tech preview
  • Windows 8 build 7927
  • Local user manager windows
  • Использование переменных в командной строке windows
  • Libreoffice for windows 2000