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:

  • Крос платформений Apache HTTP Server має WebDAV модулі, що спираються на davfs та Apache Subversion (svn).
  • Microsoft IIS має WebDAV модуль.
  • nginx має модуль з доволі обмеженою підтримкою WebDav [3] та додатковий модуль [4]

Клієнти

  • В 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.

Примітки

  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.

Посилання

  • Перелік ПЗ, яке підтримує протокол
  • Ресурси WebDAV
  • IETF Working Group
  • Jim Whitehead [Архівовано 11 травня 2008 у Wayback Machine.]
  • Сервер WebDAV де можна тестувати роботу з протоколом
  • Як налаштувати WebDAV для роботи через SSL з двох-факторною авторизацією [Архівовано 29 серпня 2008 у Wayback Machine.]
  • п
  • о
  • р
Схеми URI
Офіційні
aaa: • aaas: • acap[en]: • cap: • cid: • crid[en]: • data[en]: • dav: • dict: • dns: • fax: • file[en]: • ftp: • go: • gopher: • h323: • http: • https: • im: • imap: • ldap: • mailto: • mid: • news: • nfs: • nntp: • pop: • pres: • rtsp: • sip: • sips: • snmp: • tel: • telnet: • urn: • wais: • xmpp:
Неофіційні
about:[en] • aim: • bolo: • btc: • bzr: • callto: • chrome: • cvs: • daap: • ed2k: • ed2kftp: • feed[en]: • fish: • git: • gizmoproject: • iax2: • irc: • ircs: • itms: • lastfm: • ldaps: • magnet: • mms: • msnim: • psyc: • rsync: • secondlife: • skype: • ssh: • svn: • sftp: • smb: • sms: • soldat: • steam: • unreal: • ut2004: • view-source[en]: • webcal: • xfire: • ymsgr:
Інтернет Це незавершена стаття про Інтернет.
Ви можете допомогти проєкту, виправивши або дописавши її.