WebDAV (Web Distributed Authoring and Versioning) или просто DAV — набор расширений и дополнений к протоколу HTTP, поддерживающих совместную работу пользователей над редактированием файлов и управление файлами на удаленных веб-серверах. В качестве миссии рабочей группы по созданию DAV было заявлено: «разработка дополнений к протоколу HTTP, обеспечивающих свободное взаимодействие инструментов распределённой разработки веб-страниц, в соответствии с потребностями работы пользователей». Однако в процессе эксплуатации DAV нашёл себе ряд других применений, выходящих за первоначально принятые рамки коллективной работы над веб-документами. Сегодня DAV применяется в качестве сетевой файловой системы, эффективной для работы в Интернете и способной обрабатывать файлы целиком, поддерживая хорошую производительность работы в условиях окружения с высокой временной задержкой передачи информации. Кроме того, DAV широко применяется в качестве протокола для доступа через Интернет и манипулирования содержимым систем документооборота (document management system). Ещё одной важной целью DAV[1] является поддержка работы распределённых команд по разработке программного обеспечения. В качестве резюме задачу создания DAV можно указать так: на волне повсеместного использования HTTP в качестве стандартного уровня доступа к широкому кругу хранилищ информации расширить его возможности средствами записи информации (HTTP — доступ на чтение, DAV — доступ на запись).
WebDAV | |
---|---|
Уровень (по модели OSI) | Прикладной |
Порт/ID | 80, 443 |
Спецификация | RFC 2518, RFC 4918 |
Основные возможности
править- Блокировка — долгосрочные блокировки на запись документа предотвращают потерю информации при одновременном редактировании документа несколькими пользователями. Учитывая характер Интернет-соединений пользователей, длительность блокировки в DAV не зависит от индивидуального сетевого соединения.
- Свойства — произвольные метаданные могут храниться в качестве свойств, описанных на языке XML. В качестве примера можно привести список авторов документа или его краткую аннотацию. Протокол DAV предоставляет средства для создания, редактирования и удаления свойств. Протокол DASL или DAV Searching and Locating предоставляет средства поиска и локализации веб-ресурсов на основе значения их свойств.
- Именованные области (Namespace) — раздел DAV, поддерживающий переименование и перемещение веб-ресурсов. Механизм реализован в протоколе с помощью коллекций, выполняющих функцию, аналогичную папкам в файловой системе.
Особенности
править- Выполнение основных файловых операций над объектами на удаленном сервере;
- Выполнение расширенных файловых операций (блокировки, поддержка версий);
- Работа с любым типом объектов (не только файлы);
- Работа с метаданными;
- Поддержка одновременной работы над несколькими объектами.
Используется для совместной работы над удаленными файлами, являясь заменой для FTP и SMB.
Методы
правитьWebDAV расширяет HTTP следующими методами запроса:
Метод | Действие |
---|---|
PROPFIND | получение свойств объекта на сервере в формате XML. Также можно получать структуру репозитория (дерево каталогов); |
PROPPATCH | изменение свойств за одну транзакцию; |
MKCOL | создать коллекцию объектов (каталог в случае доступа к файлам); |
COPY | копирование из одного URI в другой; |
MOVE | перемещение из одного URI в другой; |
LOCK | поставить блокировку на объекте. WebDAV поддерживает эксклюзивные и общие (shared) блокировки; |
UNLOCK | снять блокировку с ресурса. |
Стандарты
правитьРабота WebDAV регулируется следующими стандартами:
- RFC 2291 «Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web»;
- RFC 4918 «HTTP Extensions for Distributed Authoring — WEBDAV»;
- RFC 3648 «Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol»;
- RFC 3744 «Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol».
WebDAV-серверы
правитьWebDAV-клиенты
править- BitKinex — для Windows. Бесплатный.
- Cadaver — интерактивный консольный клиент для GNU/Linux.
- Caja — файловый менеджер в MATE, форк Nautilus.
- CarotDAV — для Windows. Написан на .NET. Бесплатный.
- Cyberduck — для macOS и Windows.
- Dolphin — файловый менеджер в KDE.
- ES File Explorer Архивная копия от 1 октября 2018 на Wayback Machine — файловый менеджер для Android.
- Nautilus — файловый менеджер в GNOME.
- NetDrive — для Windows. При подключении к серверу создает локальный диск. Имеет триал версию на 7 дней.
- RaiDrive — для Windows. Подключение удалённых хранилищ в качестве сетевых дисков.
- WinSCP — графический клиент для Windows.
- WebDrive — для Windows и Mac. Клиент доступа файл, который сопоставляется FTP, SFTP и WebDAV, Облако серверов буквы диска или устройства.
- плагин для Total Commander (WebDAV Архивная копия от 26 августа 2017 на Wayback Machine). Бесплатный.
- FAR Manager через плагин NetBox (входит в дистрибутив). Бесплатный.
Примечания
править- ↑ 1 2 Mailfence. Documents - Онлайн-документация для Mailfence . Mailfence. Дата обращения: 11 января 2021. Архивировано 12 января 2021 года.
- ↑ Docs ModWebDAV - Lighttpd - lighty labs . redmine.lighttpd.net. Дата обращения: 11 января 2021. Архивировано 24 февраля 2021 года.
- ↑ Module ngx_http_dav_module . nginx.org. Дата обращения: 11 января 2021. Архивировано 6 октября 2020 года.
- ↑ Accessing ownCloud Files Using WebDAV :: ownCloud Documentation . doc.owncloud.com. Дата обращения: 11 января 2021. Архивировано 25 февраля 2021 года.
- ↑ Accessing Nextcloud files using WebDAV — Nextcloud latest User Manual latest documentation . docs.nextcloud.com. Дата обращения: 11 января 2021. Архивировано 13 февраля 2021 года.
- ↑ Roman Arutyunyan. arut/nginx-dav-ext-module. — 2021-01-02. Архивировано 20 января 2021 года.
Ссылки
править- WebDAV.org официальный сайт
- Awesome WebDAV — список программ для WebDAV и которые могут с ним работать