WebDAV

WebDAV (англ. Web-based Distributed Authoring and Versioning) — це набір розширень та доповнень до протоколу HTTP (Hypertext Transfer Protocol), які дозволяють користувачам спільно редагувати та керувати файлами на вебсерверах. Група розробників, відповідальних за ці розширення, була також відома під цим же іменем і була робочою групою Internet Engineering Task Force (IETF).

Протокол надає можливість «Intercreativity» (спільної роботи, дає можливість не просто спілкуватися, а й створювати), це робить Веб середовищем для читання та також і для записування, згідно з лінією Тіма Бернерса-Лі. Протокол забезпечує функціональність створювати, змінювати та переміщувати документи на віддаленому сервері (типова назва вебсервер чи вебшара (web share)). Це корисно, поза іншим, для авторизації документів, але також може бути корисним для загального веббазованого зберігання файлів.

Більшість сучасних операційних систем мають вбудовану підтримку протоколу WebDAV як клієнти.

Важливі можливості у WebDAV протоколу

  • Блокування — довгострокове блокування документа від внесення змін. Встановлення заборони на запис у файл іншим користувачам дозволяє зберегти монопольний доступ незалежно від якості мережевого підключення, а також у випадках його тимчасової втрати.
  • Властивості — цей механізм дозволяє приписувати документу будь-які атрибути, які можуть оброблятись окремо та незалежно від самого документа. Тобто створювати метадані документа. Зазвичай описуються у форматі XML. Наприклад, це може бути: перелік авторів, посилання на первинне джерело документа, анотація, зміст тощо. Для роботи безпосередньо з метаданими протокол DAV має відповідні команди. Протокол DASL (DAV Searching and Locating)[1] надає можливості пошуку та знаходження розташування вебресурсів за їх властивостями.
  • Простір імен (Namespace) — механізм організації колекцій документів, схожий на роботу з теками у файловій системі.

Особливості протоколу

Повна реалізація протоколу дозволяє:

  • Виконувати основні файлові операції над об'єктами, що зберігаються на сервері.
  • Виконувати додаткові операції з об'єктами, такими як блокування, забезпечення версійності.
  • Операції над будь-яким об'єктом.
  • Робота з метаданими.
  • Виконання операцій над групою об'єктів.

ПЗ, що реалізує цей протокол, використовується для організації сумісної роботи декількох користувачів над документами. Є повноцінною альтернативою використанню FTP або SMB.

Команди протоколу

WebDAV додає в протокол HTTP наступні команди[2]:

  • PROPFIND — отримання властивостей об'єкта у форматі XML. Команда дозволяє отримати структуру репозиторія.
  • PROPPATCH — внести зміни у властивості об'єкта за одну транзакцію.
  • MKCOL — створити колекцію об'єктів.
  • COPY — створює копію вказаного ресурсу URI.
  • MOVE — перенести ресурс з одного URI в інший.
  • LOCK — встановити блокування ресурсу. WebDAV підтримує як ексклюзивні, так і загальні (shared) блокування.
  • UNLOCK — зняти блокування з ресурсу.

Реалізації

Нижче в розділах наведені деякі приклади, порівняльна таблиця ПЗ наведена в Comparison of WebDAV software.

Сервер

Приклад серверного ПЗ, що підтримує протокол WebDAV:

Клієнти

  • В Linux ресурси WebDAV можна примонтувати в загальну файлову систему за допомогою утиліти davfs2.
  • OS X Apple використовує WebDAV для роботи сервісу iDisk.
  • Microsoft SharePoint також використовує WebDAV.
  • WebDAV вбудований у MS Windows. Служба має назву WebClient, а в IE — Web Folders. Ресурси WebDAV можна підключити як звичайні мережеві диски.

Альтернативні протоколи

  • File Transfer Protocol (FTP) — простий мережевий протокол, побудований поверх IP, який дозволяє користувачам передавати файли між вузлами мережі (комп'ютерами). FTPS(інші мови) розширення FTP для захищеного обміну через шифрування трафіку.
  • SSH File Transfer Protocol (SFTP) — розширення SSH-протоколу версії 2.0 для забезпечення захищеного обміну файлами.
  • Розподілена файлова система така, як Server Message Block (SMB) дозволяє Microsoft Windows або вільним Samba клієнтам отримувати доступ та керувати файлами й теками віддалено на відповідному файловому сервері.
  • AtomPub — HTTP- для створення та оновлення вебресурсів, може в деяких випадках використовуватись як WebDAV. Він заснований на стандартних HTTP-визначеннях (HTTP-командах) із стандартними колекціями ресурсів, поведінка яких подібна моделі поведінки каталогів у WebDAV.
  • Сумісні сервіси керування наповненням (CMIS)(інші мови) — стандарт, що складається з набору вебсервісів для обміну інформацією між різнорідними репозиторіями, прагне забезпечити функціональну сумісність для людей і додатків, що використовують кілька сховищ контенту. Підтримує як SOAP, так й AtomPub подібні інтерфейси.
  • Вікірушій, наприклад MediaWiki.

Примітки

  1. Офіційний сайт протоколу DASL. Архів оригіналу за 3 червня 2004. Процитовано 9 жовтня 2016.
  2. RFC 4918 Команди протоколу
  3. Модуль ngx_http_dav_module. nginx website. Архів оригіналу за 6 жовтня 2020. Процитовано 15 липня 2016.
  4. Модуль nginx-dav-ext-module. github.com. Архів оригіналу за 31 жовтня 2020. Процитовано 2 серпня 2016.

Посилання