WebDAV (Web Distributed Authoring and Versioning) или просто DAV — набор расширений и дополнений к протоколу HTTP, поддерживающих совместную работу пользователей над редактированием файлов и управление файлами на удаленных веб-серверах. В качестве миссии рабочей группы по созданию DAV было заявлено: “разработка дополнений к протоколу HTTP, обеспечивающих свободное взаимодействие инструментов распределенной разработки веб-страниц, в соответствии с потребностями работы пользователей”. Однако в процессе эксплуатации DAV нашёл себе ряд других применений, выходящих за первоначально принятые рамки коллективной работы над веб-документами. Сегодня DAV применяется в качестве сетевой файловой системы, эффективной для работы в Интернете и способной обрабатывать файлы целиком, поддерживая хорошую производительность работы в условиях окружения с высокой временной задержкой передачи информации. Кроме того, DAV широко применяется в качестве протокола для доступа через Интернет и манипулирования содержимым систем документооборота (document management system). Ещё одной важной целью DAV является поддержка работы распределенных команд по разработке программного обеспечения. В качестве резюме задачу создания DAV можно указать так: на волне повсеместного использования HTTP в качестве стандартного уровня доступа к широкому кругу хранилищ информации расширить его возможности средствами записи информации (HTTP — доступ на чтение, DAV — доступ на запись).
Способ доступа к серверу WebDAV через Internet зависит от текущего состояния среды и размеров предприятия. Обязательное условие — назначить IP-адрес или имя DNS и номер TCP-порта, с помощью которых удаленные пользователи будут обращаться к серверу WebDAV. Рассмотрим типичные сценарии. На малом предприятии единственное устройство, подключенное к Internet, — типовой широкополосный маршрутизатор/брандмауэр, но это не помешает организовать доступ с использованием WebDAV. Необходим IP-адрес, по которому удаленные пользователи будут обращаться к файл-серверу. Во-первых, следует выяснить, имеется ли у маршрутизатора статический IP-адрес. Если нет, то проще всего получить его у Internet-провайдера. Если статический IP-адрес получить нельзя, можно использовать DDNS. Большинство широкополосных маршрутизаторов совместимы с DDNS. Затем нужно решить проблему TCP-порта. Если для доступа к узлам за маршрутизатором уже применяется HTTPS, можно просто сделать в брандмауэре исключение для передачи входящих соединений в TCP-порт 443 внутреннего сервера, на котором выполняется IIS 6.0 с WebDAV. На данном этапе порт открывать не следует; предварительно необходимо убедиться, что внутренний сервер готов к этому.
Если IIS-сервер еще не подключен к Internet, можно назначить файл-сервер WebDAV-сервером.
В более сложной сети, возможно, уже имеется система Windows 2003, подключенная к Internet напрямую или через брандмауэр, как описано выше. Не составит труда задействовать эту систему. Если сервер Windows 2003 уже работает с IIS, например для Microsoft Outlook Web Access (OWA), SharePoint или общедоступного Web-узла, можно создать виртуальный каталог в существующем Web-узле или подготовить новый узел. Различие в том, что при использовании существующего Web-узла для настройки клиентского доступа WebDAV нужно к имеющемуся URL-адресу Internet добавить имя виртуального каталога. Если создан новый узел, то для него может потребоваться новый номер TCP-порта. При доступе к существующему узлу через HTTPS с использованием стандартного HTTPS-порта 443 необходимо выбрать новый порт для клиентского доступа WebDAV. Если существующий узел настроен на использование порта 443, но никто не обращается к нему через HTTPS, можно изменить текущий порт Secure Sockets Layer (SSL). Если использовать в качестве SSL-порта какой-либо порт, кроме 443, то необходимо добавить к URL-адресу номер порта.
Основные возможности
- Блокировка — долгосрочные блокировки на запись документа предотвращают потерю информации при одновременном редактировании документа несколькими пользователями. Учитывая характер Интернет-соединений пользователей, длительность блокировки в DAV не зависит от индивидуального сетевого соединения.
- Свойства — произвольные метаданные могут храниться в качестве свойств, описанных на языке XML. В качестве примера можно привести список авторов документа или его краткую аннотацию. Протокол DAV предоставляет средства для создания, редактирования и удаления свойств. Протокол DASLили DAV Searching and Locatingпредоставляет средства поиска и локализации веб-ресурсов на основе значения их свойств.
- Именованные области(Namespace) — раздел DAV, поддерживающий переименование и перемещение веб-ресурсов. Механизм реализован в протоколе с помощью коллекций, выполняющих функцию, аналогичную папкам в файловой системе.
Особенности
- Выполнение основных файловых операций над объектами на удаленном сервере;
- Выполнение расширенных файловых операций (блокировки, поддержка версий);
- Работа с любым типом объектов (не только файлы);
- Работа с метаданными;
- Поддержка одновременной работы над несколькими объектами.
Используется для совместной работы над удаленными файлами, являясь заменой для FTP и SMB.
Методы
- PROPFIND — получение свойств объекта на сервере в формате XML. Также можно получать структуру репозитория (дерево каталогов);
- PROPPATCH — изменение свойств за одну транзакцию;
- MKCOL — создать коллекцию объектов (каталог в случае доступа к файлам);
- COPY — копирование из одного URI в другой;
- MOVE — перемещение из одного URI в другой;
- LOCK — поставить блокировку на объекте. WebDAV поддерживает эксклюзивные и общие (shared) блокировки;
- UNLOCK — снять блокировку с ресурса.