Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Особенности реализации WebDAV в Microsoft Windows

Статья с вики SabreDAV от 11 июля 2013

Две клиентские реализации: веб-клиент и веб-папки

Windows имеет два клиента WebDAV. Предпочтительным на данный момент является «веб-клиент», иначе известный как «мини-редиректор». Старый известен как «веб-папки».

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

Использование веб-клиента

  1. Откройте «Computer» из вашего меню «Пуск» или с рабочего стола.
  2. Откройте мастер «Map network drive».
  3. Введите полный http:// -адрес к вашему серверу WebDAV.

Заметим, что для работы веб-клиента ваш сервис Web Client должен быть включен и запущен. В некоторых версиях ОС он по умолчанию выключен. В т.ч. в Windows Server 2003. Более того, некоторые инструкции по оптимизации рекомендуют его отключать.

Заметим, что базовая Аутентификации не будет работать по умолчанию. Сервис будет работать либо при полном отсутствии аутентификации, либо с дайджест-аутентификацией. Смотрите ниже раздел «Аутентификация».

Вы можете также присоединить диск из командной строки следующим образом:

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

Использование веб-папок

  1. Откройте Internet Explorer.
  2. Нажмите «File», «Open» и введите полный путь.
  3. Поставьте галку «Open as Web Folder».
  4. Нажмите Ok.

Windows 7

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

Чтобы решить эту проблему, снимите галку «Automatic Detect Settings» в IE8 / Tools / Internet Options / Connections / LAN Settings.

Дополнительную информацию смотрите в этой статье.

Windows Vista

Если вы используете веб-папки в Windows Vista, вы можете столкнуться с ошибкой: «Имя папки не является допустимым. Выберите другое». Чтобы избежать ее, установите обновление программного обеспечения для веб-папок (KB907306).

Windows Vista и старше

Эти старые реализации требуют, чтобы сервис WebDAV находился в корне домена. Они не позволяют вам присоединиться по адресу, который находится глубже в структуре WebDAV, так как на каждом уровне вложенности делают запросы PROPFIND. Поэтому вам необходимо устанавливать SabreDAV в корневой URL. Если вы используете Apache, вы можете использовать mod_rewrite, чтобы направить все запросы к вашему серверу WebDAV. Например:

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

Windows XP

Windows XP имеет дополнительные причуды и будет обращаться к вашему серверу WebDAV так, как если бы соединялась с сервером SMB. Заметьте, что когда вы подключаетесь, в корневой директории вы видите только папки, причем их иконки похожи на расшаренные папки Windows. Вы можете выполнять какие-либо действия только в поддиректориях корневой директории.

Итак: устанавливайте сервис в корневую директорию вашего домена и сделайте так, чтобы все операции совершались в поддиректориях вашей шары. Простейший способ добиться этого — создать единственную директорию верхнего уровня /dav/

Детали протокола

(Эти сведения могут оказаться полезными для разработчиков, реализующих WebDAV. Они уже используются в SabreDAV)

  • Юзер-агенты:
    • 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
  • Vista не передает тело запроса, когда делает запросы PROPFIND.
  • Windows Vista намного менее глючная, чем Windows XP. А Windows 7 еще лучше.
  • Windows XP ожидает, что при запросе OPTIONS в HTTP-заголовке ответа будет MS-Author-Via: DAV
  • Windows XP не любит пробелы в теле XML, приходящем в ответ на PROPPATCH и PROPFIND. Убедитесь, что посылаемый в ответ XML не содержит пробелов.

Translate

С каждым запросом Windows посылает заголовок 'Translate: f'. Его смысл заключается в том, что при доступе, например, к php-файлу с «переводом» f вы должны отдать исходный php-файл. А если требуется «перевод» t, нужно запустить php-файл и отдать его вывод.

В настоящее время это не поддерживается SabreDAV. Мы не знаем, как корректно обрабатывать 'Translate: t', и рекомендуем ничего с ним не делать.

Создание новых файлов

Похоже, Windows выполняет следующие действия, когда делает запрос PUT:

  1. Создает пустой файл с помощью PUT.
  2. Блокирует только что созданный файл.
  3. Опять выполняет PUT в тот же файл, записывая в него реальное содержимое.
  4. Шлет запрос PROPPATCH.

Продолжение этой статьи: «Особенности реализации WebDAV в Microsoft Windows. Часть 2».

Перевод с английского: Дмитрий Скоробогатов, специально для xBB.uz, 13.02.2014
Оригинальный текст может быть найден по адресу http://code.google.com/p/sabredav/wiki/Windows


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2014-02-15 12:47:11

Метки материала: webdav, microsoft, особенности реализации webdav, windows, реализация webdav, веб, microsoft windows, web, клиенты webdav, internet

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.