WebDAV
WebDAV (англ. Web-based Distributed Authoring and Versioning) — це набір розширень та доповнень до протоколу HTTP (Hypertext Transfer Protocol), які дозволяють користувачам спільно редагувати та керувати файлами на веб-серверах. Група розробників, відповідальних за ці розширення, була також відома під цим же іменем і була робочою групою Internet Engineering Task Force (IETF).
Протокол надає можливість «Intercreativity» (спільної роботи, дає можливість не просто спілкуватися, а й створювати), це робить Веб середовищем для читання та також і для записування, згідно з лінією Тіма Бернерса-Лі (Tim Berners-Lee). Протокол забезпечує функціональність створювати, змінювати та переміщувати документи на віддаленому сервері (типова назва веб-сервер чи веб-шара (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 подібні інтерфейси.
- Wiki software, наприклад MediaWiki.
Примітки
- Офіційний сайт протоколу DASL. Архів оригіналу за 3 червня 2004. Процитовано 9 жовтня 2016.
- RFC 4918 Команди протоколу
- Модуль ngx_http_dav_module. nginx website. Процитовано 15 липня 2016.
- Модуль nginx-dav-ext-module. github.com. Процитовано 2 серпня 2016.