Протокол связи | |
уровень OSI | Приложение |
---|---|
Порт(ы) | 80, 443 |
Запрос(ы) предложений (RFC) | RFC 2518, RFC 4918 |
Веб-сайт | www.webdav.org |
WebDAV ( Web Distributed Authoring and Versioning ) — это набор расширений для протокола передачи гипертекста (HTTP), который позволяет агентам пользователей совместно создавать контент непосредственно на веб-сервере HTTP , предоставляя возможности для управления параллелизмом и операций с пространством имен , что позволяет рассматривать Web как среду для совместной работы, а не только как среду, доступную только для чтения. [1] WebDAV определен в RFC 4918 рабочей группой Internet Engineering Task Force (IETF). [2]
Протокол WebDAV предоставляет пользователям фреймворк для создания, изменения и перемещения документов на сервере . Наиболее важные функции включают в себя поддержку свойств об авторе или дате изменения, управление пространством имен , коллекции и защиту от перезаписи. Поддержка свойств включает в себя такие вещи, как создание, удаление и запрос информации о файлах. Управление пространством имен имеет дело с возможностью копирования и перемещения веб-страниц в пределах пространства имен сервера. Коллекции имеют дело с созданием, удалением и перечислением различных ресурсов. Наконец, защита от перезаписи обрабатывает аспекты, связанные с блокировкой файлов. Она использует преимущества существующих технологий, таких как Transport Layer Security , дайджест-аутентификация доступа или XML , чтобы удовлетворить эти требования. [3]
Многие [ какие? ] современные операционные системы предоставляют встроенную клиентскую поддержку WebDAV [ необходима ссылка ] .
WebDAV появился в 1996 году, когда Джим Уайтхед работал с Консорциумом Всемирной паутины (W3C) над проведением двух встреч для обсуждения проблемы распределенного авторинга во Всемирной паутине с заинтересованными людьми. [4] [5] Первоначальное видение Интернета Тимом Бернерсом-Ли включало среду как для чтения, так и для письма. Фактически, первый веб-браузер Бернерса-Ли , названный WorldWideWeb , мог как просматривать, так и редактировать веб-страницы ; но, по мере роста Интернета, он стал средой только для чтения для большинства пользователей. Уайтхед и другие единомышленники хотели преодолеть это ограничение. [6] [7]
Результатом встреч стало формирование рабочей группы IETF, поскольку новые усилия должны были привести к расширениям HTTP, стандартизацию которого IETF уже начала проводить.
Когда работа над протоколом началась, стало ясно, что обработка как распределенного авторинга, так и версионирования вместе потребует слишком много работы и что эти задачи придется разделить. Группа WebDAV сосредоточилась на распределенном авторинге и оставила версионирование на будущее. (Расширение Delta-V добавило версионирование позже – см. раздел Расширения ниже.)
Рабочая группа WebDAV завершила свою работу в марте 2007 года после того, как Руководящая группа по инжинирингу Интернета (IESG) приняла инкрементальное обновление RFC 2518. Другие расширения, оставшиеся незавершенными в то время, такие как метод BIND, были завершены их отдельными авторами, независимо от формальной рабочей группы. [8]
WebDAV расширяет набор стандартных HTTP-глаголов и заголовков, разрешенных для методов запроса . Добавленные глаголы включают:
Глагол | Действие |
---|---|
КОПИЯ | копировать ресурс из одного унифицированного идентификатора ресурса (URI) в другой |
ЗАМОК | установить блокировку на ресурс. WebDAV поддерживает как общие, так и исключительные блокировки. |
МККОЛ | создавать коллекции (также известные как каталоги ) |
ДВИГАТЬСЯ | переместить ресурс с одного URI на другой |
ПРОПФИНД | извлечь свойства, хранящиеся в виде XML , из веб-ресурса . Он также перегружен , чтобы позволить извлечь структуру коллекции (также известную как иерархия каталогов) удаленной системы. |
ПРОПАТЧ | изменение и удаление нескольких свойств ресурса за один атомарный акт |
РАЗБЛОКИРОВАТЬ | снять блокировку с ресурса |
Свойства протокола WebDAV — это пара имя–значение , в которой «имя» — это унифицированный идентификатор ресурса (URI), а «значения» выражаются через элементы XML. Кроме того, методы обработки свойств — PROPFIND и PROPPATCH . [9]
Рабочая группа WebDAV подготовила несколько работ:
Для управления версиями протокол Delta-V рабочей группы Web Versioning and Configuration Management добавляет отслеживание версий ресурсов, опубликованное в RFC 3253.
Для поиска и определения местоположения рабочая группа DAV Searching and Locating (DASL) так и не разработала официального стандарта, хотя существует ряд реализаций ее последнего проекта. Работа продолжалась как деятельность вне рабочей группы. [10] Спецификация WebDAV Search пытается продолжить работу рабочей группы и была опубликована как RFC 5323 в ноябре 2008 года. [11]
Для календаря CalDAV — это протокол, позволяющий получать доступ к календарю через WebDAV. CalDAV моделирует события календаря как HTTP-ресурсы в формате iCalendar и моделирует календари, содержащие события, как коллекции WebDAV.
Для группового программного обеспечения GroupDAV представляет собой вариант WebDAV, который позволяет клиент-серверным системам группового программного обеспечения хранить и извлекать объекты, такие как элементы календаря и записи адресной книги, вместо веб-страниц.
Для взаимодействия с MS Exchange WebDAV может использоваться для чтения/обновления/удаления элементов в почтовом ящике или общедоступной папке. WebDAV для Exchange был расширен Microsoft для работы с данными сообщений. Версии Exchange Server 2000, 2003 и 2007 поддерживают WebDAV. Однако поддержка WebDAV была прекращена в Exchange 2010 [12] в пользу Exchange Web Services (EWS), API на основе SOAP / XML .
В рамках набора документации Windows Server Protocols (WSPP) [13] компания Microsoft опубликовала следующие документы протоколов, подробно описывающие расширения WebDAV:
Клиент | Создатель | Поддержка операционной системы | Лицензия | Интерфейс |
---|---|---|---|---|
Кибердак | Дэвид В. Кочер | Windows, macOS | GPL | графический интерфейс |
davfs2 | Команда GNOME | ПРЕДОХРАНИТЕЛЬ | GPL | ВФС |
дэвикс | ЦЕРН | Windows, Linux, MacOS | LGPL | CLI |
EasySync | Сэмюэль ЧЕМЛА | андроид | Массачусетский технологический институт | услуга |
GVfs | Команда GNOME | ГНОМ | GPL | ВФС |
КИО | Команда KDE | КДЕ | GPL | ВФС |
Конкуэрор | Команда KDE | КДЕ | GPL | графический интерфейс |
Файлы GNOME | Команда GNOME | ГНОМ | GPL | графический интерфейс |
SmartFTP | ООО «СмартСофт» | Окна | Запатентованный | графический интерфейс |
ВебДрайв | Технологии Южной реки | Windows, MacOS , iOS, Android | Запатентованный | ВФС |
WinSCP | Мартин Пржикрыл | Окна | GPL | CLI и графический интерфейс |
WebClient (устаревший) [18] | Майкрософт | Окна | То же, что и Windows | услуга |
Библиотеки | Создатель | Операционная система или платформа | Лицензия | Язык |
---|---|---|---|---|
Апачский Винк | Apache Software Foundation | JVM | Ява | |
Apache-томкат | Apache Software Foundation | JVM | Ява | |
Апачский заяц | Apache Software Foundation | JVM | АЧС | Ява |
сабля/дав | фрукт | Windows, Linux, MacOS | Новый BSD | PHP |