Введение

WebDAV (Web Distributed Authoring and Versioning) – это набор расширений протокола передачи гипертекста (HTTP), позволяющий пользовательским агентам совместно редактировать содержимое непосредственно на веб-сервере HTTP, предоставляя средства для управления параллельным доступом и операциями с пространствами имен. Это позволяет рассматривать Web как среду для записи и совместной работы, а не только для чтения. WebDAV разработан рабочей группой Internet Engineering Task Force (IETF). Протокол WebDAV предоставляет пользователям возможность создавать, изменять и перемещать документы на сервере. К наиболее важным функциям относятся поддержка свойств, таких как автор и дата изменения, управление пространствами имен, коллекции и защита от перезаписи. Поддержание свойств включает создание, удаление и запрос информации о файлах. Управление пространствами имен обеспечивает возможность копирования и перемещения веб-страниц в пространстве имен сервера. Коллекции позволяют создавать, удалять и перечислять различные ресурсы. Защита от перезаписи отвечает за аспекты, связанные с блокировкой файлов. Для обеспечения этих функций используются существующие технологии, такие как Transport Layer Security, дайджест-аутентификация или XML. Многие современные операционные системы имеют встроенную клиентскую поддержку WebDAV.

История

WebDAV начал свое развитие в 1996 году, когда Джим Уайтхед сотрудничал с World Wide Web Consortium (W3C) для организации двух встреч, посвященных обсуждению проблемы распределенного редактирования в World Wide Web с заинтересованными специалистами. Первоначальное видение Сети, предложенное Тимом Бернерсом-Ли, предполагало среду как для чтения, так и для записи информации. Фактически, первый веб-браузер Бернерса-Ли, названный WorldWideWeb, позволял просматривать и редактировать веб-страницы; однако, по мере развития Сети, для большинства пользователей она стала преимущественно средой только для чтения. Уайтхед и другие единомышленники стремились преодолеть это ограничение. Встречи привели к формированию рабочей группы IETF, поскольку новая работа подразумевала расширение протокола HTTP, стандартизацию которого IETF уже начал. По мере продвижения работы над протоколом стало очевидно, что одновременная обработка распределенного редактирования и контроля версий потребует чрезмерных усилий, и эти задачи необходимо разделить. Группа WebDAV сосредоточилась на распределенном редактировании, а контроль версий оставила на будущее. (Позднее контроль версий был добавлен расширением Delta V – см. раздел «Расширения» ниже.) Рабочая группа WebDAV завершила свою работу в марте 2007 года, после того как Руководящая группа по инженерным вопросам в Интернете (IESG) одобрила поэтапное обновление. Другие расширения, которые остались незавершенными в то время, например, метод BIND, были доработаны их авторами независимо от официальной рабочей группы.

Реализация

WebDAV расширяет набор стандартных HTTP-методов и заголовков, разрешенных для запросов. Добавленные методы включают:

Метод Действие COPY копировать ресурс из одного универсального идентификатора ресурса (URI) в другой LOCK установить блокировку на ресурс. WebDAV поддерживает как общие, так и эксклюзивные блокировки. MKCOL создать коллекции (также известные как каталоги) MOVE переместить ресурс из одного URI в другой PROPFIND получить свойства, хранящиеся в формате XML, веб-ресурса. Также может использоваться для получения структуры коллекции (также известной как иерархия каталогов) удаленной системы. PROPPATCH изменить и удалить несколько свойств ресурса в одной атомарной операции UNLOCK снять блокировку с ресурса

Свойства

Свойства протокола WebDAV представлены в виде пар "имя-значение", где "имя" является универсальным идентификатором ресурса (URI), а "значения" выражаются посредством XML-элементов. Для работы со свойствами используются методы PROPFIND и PROPPATCH.

Расширения и производные

Для версионного управления протокол Delta V в рамках рабочей группы Web Versioning and Configuration Management добавляет отслеживание ревизий ресурсов, опубликованное в 2007 году. Для поиска и определения местоположения рабочая группа DAV Searching and Locating (DASL) так и не выпустила официальный стандарт, хотя существует ряд реализаций её последнего проекта. Работа продолжалась вне рамок рабочей группы. Спецификация WebDAV Search пытается продолжить работу, начатую рабочей группой, и была опубликована в ноябре 2008 года. Для работы с календарями CalDAV – это протокол, обеспечивающий доступ к календарю через WebDAV. CalDAV моделирует календарные события как HTTP-ресурсы в формате iCalendar, а сами календари, содержащие события, – как коллекции WebDAV. Для групповой работы GroupDAV является вариантом WebDAV, позволяющим клиент-серверным системам группового ПО хранить и извлекать объекты, такие как элементы календаря и записи адресной книги, вместо веб-страниц. Для обеспечения совместимости с MS Exchange, WebDAV может использоваться для чтения, обновления и удаления элементов в почтовом ящике или общедоступной папке. WebDAV для Exchange был расширен Microsoft для поддержки работы с данными обмена сообщениями. Exchange Server версий 2000, 2003 и 2007 поддерживают WebDAV. Однако поддержка WebDAV была прекращена в Exchange 2010 в пользу Exchange Web Services (EWS) – API на основе SOAP/XML.

Клиенты WebDAV

Клиент Создатель Поддержка операционной системы Лицензия Интерфейс Cyberduck Дэвид В. Кохер Windows, macOS GUI davfs2 Команда GNOME FUSE VFS davix CERN Windows, Linux, macOS CLIEasySyncSamuel CHEMLAAndroidMITservice GVfs Команда GNOME VFS KIO Команда KDE KDE VFS Konqueror Команда KDE GUI GNOME Файлы Команда GNOME GUI SmartFTP SmartSoft Ltd Windows GUI WebDrive South River Technologies Windows, macOS, iOS, Android VFS WinSCP Martin Přikryl Windows CLI и GUI WebClient (Устарело) Сервис Microsoft Windows