WebDAV - WebDAV

WebDAV
Протокол связи
Слой OSI заявка
Порт (ы) 80, 443
RFC (ы) RFC 2518, RFC  4918
Веб-сайт www .webdav .org

WebDAV ( Web Distributed Authoring и Версионность ) представляет собой набор расширений для передачи протокола Hypertext (HTTP), который позволяет агентам пользователей , чтобы совместно содержание автора непосредственно в HTTP - веб - сервер , предоставляя средства для управления параллелизмом и пространств имен операций , таким образом , позволяя Web к можно рассматривать как записываемый, коллективный носитель, а не только носитель только для чтения. WebDAV определяется в RFC  4918 с помощью рабочей группы по Engineering Task Force Интернет (IETF).

Протокол WebDAV предоставляет пользователям платформу для создания, изменения и перемещения документов на сервере . Наиболее важные функции включают поддержание свойств об авторе или дате модификации, управление пространством имен , коллекции и защиту от перезаписи. Обслуживание свойств включает в себя такие вещи, как создание, удаление и запрос информации о файлах. Управление пространством имен имеет дело с возможностью копировать и перемещать веб-страницы в пространстве имен сервера. Коллекции связаны с созданием, удалением и перечислением различных ресурсов. Наконец, защита от перезаписи обрабатывает аспекты, связанные с блокировкой файлов. Для удовлетворения этих требований он использует преимущества существующих технологий, таких как безопасность транспортного уровня , дайджест-аутентификация доступа или XML .

Многие современные операционные системы предоставляют встроенную поддержку WebDAV на стороне клиента .

История

WebDAV началось в 1996 году , когда Джим Уайтхед , PhD выпускник Калифорнийского университета в Ирвине , работал с World Wide Web Consortium (W3C) на хост две встречи , чтобы обсудить проблему распределенного авторинга на World Wide Web с заинтересованными людьми. Первоначальное видение Интернета Тимом Бернерсом-Ли включало среду как для чтения, так и для письма. Фактически, первый веб-браузер Бернерса-Ли , названный WorldWideWeb , мог как просматривать, так и редактировать веб-страницы ; но по мере роста Интернета для большинства пользователей он стал доступным только для чтения. Уайтхед и другие единомышленники хотели преодолеть это ограничение.

Встречи привели к формированию рабочей группы IETF, поскольку новые усилия приведут к расширению HTTP, которое IETF начала стандартизировать.

Когда началась работа над протоколом, стало ясно, что совместная обработка как распределенного авторинга, так и управления версиями потребует слишком много работы и что задачи придется разделить. Группа WebDAV сосредоточилась на распределенном авторинге и оставила управление версиями на будущее. (Расширение Delta-V добавило управление версиями позже - см. Раздел «Расширения» ниже.)

Рабочая группа WebDAV завершила свою работу в марте 2007 года, после того, как Руководящая группа инженеров Интернета (IESG) приняла инкрементное обновление RFC  2518 . Другие расширения, оставшиеся незаконченными в то время, такие как метод BIND , были завершены их отдельными авторами, независимо от формальной рабочей группы.

Реализация

Совместная разработка WebDAV на совместимом HTTP-сервере

WebDAV расширяет набор стандартных HTTP-команд и заголовков, разрешенных для методов запроса . К добавленным глаголам относятся:

  • КОПИРОВАТЬ : копировать ресурс из одного универсального идентификатора ресурса (URI) в другой.
  • БЛОКИРОВКА : установить блокировку ресурса. WebDAV поддерживает как общие, так и эксклюзивные блокировки.
  • MKCOL : создавать коллекции (также известные как каталог )
  • MOVE : переместить ресурс из одного URI в другой
  • PROPFIND : получить свойства, хранящиеся в формате XML , из веб-ресурса . Он также перегружен, чтобы можно было получить структуру коллекции (также известную как иерархия каталогов) удаленной системы.
  • PROPPATCH : изменение и удаление нескольких свойств ресурса за один атомарный акт
  • РАЗБЛОКИРОВАТЬ : снять блокировку с ресурса

Характеристики

Свойства протокола WebDAV представляют собой пару «имя – значение» , в которой «имя» является унифицированным идентификатором ресурса (URI), а «значения» выражаются через элементы XML. Furthremore на методы для обработки свойства являются PROPFIND и PROPPATCH .

Поддержка сервера

  • HTTP-сервер Apache предоставляет модули WebDAV, основанные как на davfs, так и на Apache Subversion (svn) .
  • Caddy имеет дополнительный модуль WebDAV
  • EGroupware , групповое ПО с полной поддержкой * DAV: CalDAV , CardDAV и WebDAV для файлового менеджера
  • lighttpd имеет дополнительный модуль WebDAV
  • Mailfence предлагает поддержку WebDAV через виртуальный диск + вы можете подключать внешние диски к Mailfence Documents
  • Nextcloud - это ответвление ownCloud, поэтому он также предлагает полную поддержку WebDAV.
  • Nginx имеет очень ограниченный дополнительный модуль WebDAV и сторонний модуль.
  • ownCloud - это PHP-приложение для облачного хранилища, которое предлагает полную поддержку WebDAV.
  • SabreDAV - это приложение PHP, которое можно использовать на Apache или Nginx вместо связанных с ними модулей.
  • Seafile имеет дополнительную конфигурацию WebDAV
  • Microsoft IIS имел модуль WebDAV, но в июле 2021 года он был прекращен.

Служба поддержки клиентов

  • Git поддерживает запись на пульты HTTP, хотя «умный» протокол Git для HTTP (требующий специальной поддержки сервера) предпочтительнее WebDAV.
  • Linux через GVfs , включая файлы GNOME, и через KIO , включая Konqueror и Dolphin
  • macOS , включая встроенную поддержку CalDAV и CardDAV , дизайн которых основан на WebDAV
  • Microsoft Windows , включая встроенную поддержку в проводнике
  • Microsoft Office

Документы, подготовленные рабочей группой

Рабочая группа WebDAV подготовила несколько работ:

  • документ с требованиями: «Требования к протоколу распределенной разработки и управления версиями для всемирной паутины» RFC  2291 , выпущенный в феврале 1998 г.
  • документ базового протокола (за исключением управления версиями, несмотря на его название): «HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)» RFC  4918 , выпущенный в июне 2007 г. (который обновляет и заменяет «HTTP Extensions for Distributed Authoring - WebDAV» RFC  2518 , выпущенный Февраль 1999 г.)
  • протокол упорядоченных коллекций: «Протокол упорядоченных коллекций Web Distributed Authoring and Versioning (WebDAV)» RFC  3648 , выпущенный в декабре 2003 г.
  • протокол управления доступом: «Протокол управления доступом через веб-распределенное создание и управление версиями (WebDAV)» RFC  3744 , выпущенный в мае 2004 г.
  • спецификация квоты: "Свойства квоты и размера для коллекций распределенной разработки и управления версиями (DAV)" RFC  4331 , выпущенный в феврале 2006 г.
  • спецификация перенаправления: «Справочные ресурсы по перенаправлению распределенного веб-авторинга и управления версиями (WebDAV)» RFC  4437 , выпущенный в марте 2006 г.

Другие документы, опубликованные через IETF

  • протокол управления версиями: «Расширения управления версиями для WebDAV (Распределенная веб-разработка и управление версиями)» RFC  3253 (созданный рабочей группой Delta-V)
  • спецификация типов данных свойств WebDAV: «Типы данных для свойств веб-распределенной разработки и управления версиями (WebDAV)» RFC  4316
  • документ, определяющий, как инициировать монтирование ресурса WebDAV: «Монтирование серверов Web Distributed Authoring and Versioning (WebDAV)» RFC  4709
  • протокол доступа к календарю: «Расширения календаря для WebDAV ( CalDAVRFC  4791
  • протокол запроса: "ПОИСК для распределенного веб-авторинга и управления версиями (WebDAV)" RFC  5323
  • расширение спецификации WebDAV ACL: «Текущее основное расширение WebDAV» RFC  5397
  • расширение метода MKCOL WebDAV: «Расширенный MKCOL для распределенного веб-авторинга и управления версиями (WebDAV)» RFC  5689
  • расширение модели сбора, определяющее создание и обнаружение дополнительных привязок к ресурсу: «Расширения привязки к веб-распределенному авторингу и управлению версиями (WebDAV)» RFC  5842
  • приложение POST к коллекциям WebDAV: «Использование POST для добавления членов в коллекции Web Distributed Authoring and Versioning (WebDAV)» RFC  5995
  • расширение, которое позволяет эффективно синхронизировать большие коллекции: «Синхронизация коллекций для распределенного веб-авторинга и управления версиями (WebDAV)» RFC  6578

Расширения и производные

Для управления версиями протокол Delta-V в рамках рабочей группы Web Versioning and Configuration Management добавляет отслеживание версий ресурсов, опубликованное в RFC  3253 .

Что касается поиска и определения местоположения, то рабочая группа DAV Searching and Locating (DASL) никогда не создавала никаких официальных стандартов, хотя существует ряд реализаций ее последнего проекта. Работа продолжалась как нерабочая деятельность. Спецификация WebDAV Search пытается продолжить работу с того места, где остановилась рабочая группа, и была опубликована как RFC  5323 в ноябре 2008 года.

Для календаря CalDAV - это протокол, обеспечивающий доступ к календарю через WebDAV. CalDAV моделирует события календаря как ресурсы HTTP в формате iCalendar и моделирует календари, содержащие события, как коллекции WebDAV.

Для групповой работы GroupDAV - это вариант WebDAV, который позволяет системам групповой работы клиент / сервер хранить и извлекать объекты, такие как элементы календаря и записи адресной книги, вместо веб-страниц.

Для взаимодействия с MS Exchange WebDAV можно использовать для чтения / обновления / удаления элементов в почтовом ящике или общей папке. Microsoft расширила WebDAV для Exchange для работы с данными обмена сообщениями. Exchange Server версий 2000, 2003 и 2007 поддерживает WebDAV. Однако поддержка WebDAV была прекращена в Exchange 2010 в пользу веб-служб Exchange (EWS), API на основе SOAP / XML .

Дополнительные расширения для Windows

В рамках набора документации по протоколам Windows Server (WSPP) Microsoft опубликовала следующие документы протокола с подробным описанием расширений для WebDAV:

  • [MS-WDVME]: Протокол Web Distributed Authoring and Versioning (WebDAV): Microsoft Extensions. Эти расширения включают новую команду, новые заголовки и свойства, которые включают ранее неуправляемые типы файлов и оптимизируют взаимодействие протоколов для клиентов файловой системы. Эти расширения вводят новые функции в WebDAV, оптимизируют обработку и устраняют необходимость в обработке в особых случаях.
  • [MS-WDV]: Протокол веб-распределенной разработки и управления версиями (WebDAV): клиентские расширения. Клиентские расширения в этой спецификации расширяют протокол WebDAV, вводя новые заголовки, которые включают типы файлов, которые в настоящее время не поддаются управлению, и оптимизируют взаимодействие протокола для клиентов файловой системы. Эти расширения не вводят новые функции в протокол WebDAV, а вместо этого оптимизируют обработку и устраняют необходимость в обработке в особых случаях.
  • [MS-WDVSE]: Протокол веб-распределенной разработки и управления версиями (WebDAV): серверные расширения. Серверные расширения в этой спецификации расширяют WebDAV, вводя новые заголовки HTTP-запроса и ответа, которые позволяют использовать типы файлов, которые в настоящее время не поддаются управлению, и оптимизируют взаимодействие протоколов для клиентов файловой системы. Эта спецификация также представляет новый метод WebDAV, который используется для отправки поисковых запросов разрозненным поисковым провайдерам.
  • [MS-WEBDAVE]: Спецификация протокола расширения ошибок веб-распределенного авторинга и управления версиями. Этот протокол переднего плана SharePoint описывает расширенные коды ошибок и расширенный механизм обработки ошибок, указанный в [MS-WDV], чтобы соответствующие серверы могли сообщать подробные сведения о состоянии ошибки в ответе сервера.

Альтернативы WebDAV

  • Протокол передачи файлов (FTP), простой и широко адаптированный сетевой протокол, основанный на IP , позволяет пользователям передавать файлы между сетевыми узлами. FTPS расширяет FTP для безопасного трафика.
  • Протокол передачи файлов SSH (SFTP), расширение протокола Secure Shell (SSH) версии 2.0, обеспечивает возможность безопасной передачи файлов; и scp, форма SFTP, которая выполняется как одна команда, аналогичная обычной команде cp (copy) в оболочке.
  • Rsync , протокол и команда, аналогичные scp, которые также могут пропускать перезапись идентичных файлов и частей файлов или пропускать новые файлы и т. Д.
  • Распределенной файловой системы , такие как сервер Блок сообщений протокола SMB () позволяет Microsoft Windows и с открытым исходным кодом Samba клиентов для доступа и управления файлами и папками на удаленном подходящем файловом сервере . Обычно используется для потоковой передачи мультимедиа по сети Ethernet и широко поддерживается телевизорами Smart TV .
  • AtomPub , протокол на основе HTTP для создания и обновления веб-ресурсов, может использоваться в некоторых случаях использования WebDAV. Он основан на стандартных HTTP-командах со стандартизованными ресурсами коллекции, которые ведут себя как модель каталогов WebDAV.
  • CMIS , стандарт, состоящий из набора веб-сервисов для обмена информацией между разрозненными репозиториями контента, стремится обеспечить совместимость для людей и приложений, использующих несколько репозиториев контента; он имеет интерфейсы на основе SOAP и AtomPub
  • Программное обеспечение Wiki , такое как MediaWiki .
  • Платформа связанных данных (LDP), спецификация связанных данных, определяющая набор шаблонов интеграции для создания RESTful HTTP-сервисов, способных выполнять чтение и запись данных RDF.
  • Объектное хранилище, такое как OpenStack Swift или Amazon S3

Смотрите также

использованная литература

внешние ссылки