WebDAV ( Web Distributed Authoring and Versioning ) - это расширение протокола передачи гипертекста (HTTP), которое позволяет клиентам выполнять удаленные операции создания веб- контента. WebDAV определяется в RFC 4918 с помощью рабочей группы по Engineering Task Force Интернет .
Протокол связи | |
Слой OSI | Заявление |
---|---|
Порт (ы) | 80, 443 |
RFC (ы) | RFC 2518, RFC 4918 |
Веб-сайт | www |
Протокол WebDAV1 предоставляет пользователям платформу для создания, изменения и перемещения документов на сервере . Наиболее важные функции протокола WebDAV включают поддержку свойств об авторе или дате модификации, управление пространством имен , коллекции и защиту от перезаписи. Обслуживание свойств включает в себя такие вещи, как создание, удаление и запрос информации о файлах. Управление пространством имен имеет дело с возможностью копировать и перемещать веб-страницы в пространстве имен сервера. Коллекции связаны с созданием, удалением и перечислением различных ресурсов. Наконец, защита от перезаписи обрабатывает аспекты, связанные с блокировкой файлов.
Многие современные операционные системы предоставляют встроенную поддержку WebDAV на стороне клиента .
История
WebDAV зародился в 1996 году, когда Джим Уайтхед , аспирант Калифорнийского университета в Ирвине , работал с Консорциумом Всемирной паутины (W3C), чтобы организовать две встречи для обсуждения проблемы распределенного авторинга во всемирной паутине с заинтересованными людьми. [1] [2] Первоначальное видение Интернета Тимом Бернерсом-Ли включало среду как для чтения, так и для письма. Фактически, первый веб-браузер Бернерса-Ли , названный WorldWideWeb , мог как просматривать, так и редактировать веб-страницы ; но по мере роста Интернета для большинства пользователей он стал доступным только для чтения. Уайтхед и другие единомышленники хотели преодолеть это ограничение. [3]
Встречи привели к формированию рабочей группы IETF , поскольку новые усилия приведут к расширению HTTP , которое IETF начала стандартизировать.
Когда началась работа над протоколом, стало ясно, что совместная обработка как распределенного авторинга, так и управления версиями потребует слишком много работы и что задачи придется разделить. Группа WebDAV сосредоточилась на распределенном авторинге и оставила управление версиями на будущее. (Расширение Delta-V добавило управление версиями позже - см. Раздел «Расширения» ниже.)
Рабочая группа WebDAV завершила свою работу в марте 2007 г., после того как Руководящая группа по инженерным разработкам Интернета (IESG) приняла инкрементное обновление для RFC 2518 . Другие расширения, оставшиеся незаконченными в то время, такие как метод BIND , были завершены их отдельными авторами, независимо от формальной рабочей группы.
Выполнение
WebDAV расширяет набор стандартных HTTP-команд и заголовков, разрешенных для методов запроса . К добавленным глаголам относятся:
- КОПИРОВАТЬ
- копировать ресурс из одного URI в другой
- ЗАМОК
- поставить блокировку ресурса. WebDAV поддерживает как общие, так и эксклюзивные блокировки.
- MKCOL
- создавать коллекции (также известные как каталог )
- ДВИГАТЬСЯ
- переместить ресурс из одного URI в другой
- PROPFIND
- получать свойства, хранящиеся в формате XML , из веб-ресурса . Он также перегружен, чтобы можно было получить структуру коллекции (также известную как иерархия каталогов) удаленной системы.
- ПРОПАТЧ
- изменять и удалять несколько свойств ресурса за один атомарный акт
- РАЗБЛОКИРОВАТЬ
- снять блокировку с ресурса
Поддержка сервера
- HTTP-сервер Apache предоставляет модули WebDAV, основанные как на davfs, так и на Apache Subversion (svn) .
- Caddy имеет дополнительный модуль WebDAV [4]
- lighttpd имеет дополнительный модуль WebDAV [5]
- Mailfence предлагает поддержку WebDAV через виртуальный диск + вы можете подключать внешние диски к Mailfence Documents [6]
- Microsoft «s IIS имеет модуль WebDAV.
- MyWorkDrive Server поддерживает WebDAV для доступа к файлам через модуль IIS . [7]
- Nextcloud - это ответвление ownCloud, поэтому он также предлагает полную поддержку WebDAV [8]
- Nginx имеет очень ограниченный дополнительный модуль WebDAV [9] и сторонний модуль [10].
- ownCloud - это PHP-приложение для облачного хранилища, которое предлагает полную поддержку WebDAV [11]
- SabreDAV - это приложение PHP, которое можно использовать на Apache или Nginx вместо связанных с ними модулей.
Служба поддержки клиентов
- Git поддерживает запись на пульты HTTP, хотя «умный» протокол Git для HTTP, требующий специальной поддержки сервера, был сделан предпочтительным протоколом по сравнению с WebDAV.
- Linux через GVfs , включая файлы GNOME, и через KIO , включая Konqueror и Dolphin
- macOS , включая встроенную поддержку CalDAV и CardDAV , дизайн которых основан на WebDAV
- Microsoft Windows , включая встроенную поддержку в проводнике
- Microsoft Office
Документы, подготовленные рабочей группой
Рабочая группа WebDAV подготовила несколько работ:
- документ с требованиями: «Требования к протоколу распределенной разработки и управления версиями для World Wide Web» RFC 2291 , выпущенный в феврале 1998 г.
- документ базового протокола (за исключением управления версиями, несмотря на его название): «Расширения HTTP для распределенного веб-авторинга и управления версиями (WebDAV)» RFC 4918 , выпущенный в июне 2007 г. (который обновляет и заменяет «Расширения HTTP для распределенной разработки - WebDAV» RFC 2518 , выпущенный в феврале 1999 г.)
- протокол упорядоченных коллекций: «Протокол упорядоченных коллекций Web Distributed Authoring и Versioning (WebDAV)» RFC 3648 , выпущенный в декабре 2003 г.
- протокол управления доступом: «Протокол управления доступом для распределенного веб-авторинга и управления версиями (WebDAV)» RFC 3744 , выпущенный в мае 2004 г.
- спецификация квоты: «Свойства квоты и размера для коллекций распределенной разработки и управления версиями (DAV)» RFC 4331 , выпущенный в феврале 2006 г.
- спецификация перенаправления: «Справочные ресурсы для перенаправления распределенного веб-авторинга и управления версиями (WebDAV)» RFC 4437 , выпущенный в марте 2006 г.
Другие документы, опубликованные через IETF
- протокол управления версиями: «Расширения управления версиями для WebDAV (веб-распределенная разработка и управление версиями)» RFC 3253 (создан рабочей группой Delta-V)
- спецификация типов данных свойств WebDAV: «Типы данных для свойств Web Distributed Authoring и Versioning (WebDAV)» RFC 4316
- документ, определяющий, как инициировать монтирование ресурса WebDAV: «Монтирование серверов Web Distributed Authoring and Versioning (WebDAV)» RFC 4709
- протокол доступа к календарю: «Расширения календаря для WebDAV ( CalDAV )» RFC 4791
- протокол запроса: «ПОИСК с распределенным веб-созданием и контролем версий (WebDAV)» RFC 5323
- расширение спецификации WebDAV ACL: «Текущее основное расширение WebDAV» RFC 5397
- расширение метода MKCOL WebDAV: «Расширенный MKCOL для распределенного веб-авторинга и управления версиями (WebDAV)» RFC 5689
- расширение модели сбора, определяющее создание и обнаружение дополнительных привязок к ресурсу: «Привязка расширений к распределенной веб-разработке и управлению версиями (WebDAV)» RFC 5842
- приложение POST к коллекциям WebDAV: «Использование POST для добавления членов в коллекции распределенного веб-авторинга и управления версиями (WebDAV)» RFC 5995
- расширение, которое позволяет эффективно синхронизировать большие коллекции: «Синхронизация коллекций для распределенной веб-разработки и управления версиями (WebDAV)» RFC 6578
Расширения и производные
Для управления версиями протокол Delta-V в рабочей группе Web Versioning and Configuration Management добавляет отслеживание версий ресурсов, опубликованное в RFC 3253 .
Что касается поиска и определения местоположения, то рабочая группа DAV Searching and Locating (DASL) никогда не создавала никаких официальных стандартов, хотя существует ряд реализаций ее последнего проекта. Работа продолжалась как нерабочая деятельность. [12] Спецификация поиска WebDAV пытается продолжить работу с того места, где остановилась рабочая группа, и была опубликована как RFC 5323 в ноябре 2008 г. [13]
Для ведения календаря CalDAV - это протокол, обеспечивающий доступ к календарю через WebDAV. CalDAV моделирует события календаря как ресурсы HTTP в формате iCalendar и моделирует календари, содержащие события, как коллекции WebDAV.
Для групповой работы GroupDAV - это вариант WebDAV, который позволяет системам групповой работы клиент / сервер хранить и извлекать объекты, такие как элементы календаря и записи адресной книги, вместо веб-страниц.
Для взаимодействия с MS Exchange WebDAV можно использовать для чтения / обновления / удаления элементов в почтовом ящике или общей папке. Microsoft расширила WebDAV для Exchange для работы с данными обмена сообщениями. Exchange Server версий 2000, 2003 и 2007 поддерживает WebDAV. Однако поддержка WebDAV была прекращена в Exchange 2010 [14] в пользу веб-служб Exchange (EWS), API на основе SOAP / XML .
Дополнительные расширения для Windows
В рамках набора документации по протоколам Windows Server (WSPP) [15] Microsoft опубликовала следующие документы протокола с подробным описанием расширений для WebDAV:
- [MS-WDVME]: Протокол Web Distributed Authoring and Versioning (WebDAV): Microsoft Extensions. [16] Эти расширения включают новую команду, новые заголовки и свойства, которые включают ранее неуправляемые типы файлов и оптимизируют взаимодействие протоколов для клиентов файловой системы. Эти расширения вводят новые функции в WebDAV, оптимизируют обработку и устраняют необходимость в обработке в особых случаях.
- [MS-WDV]: Протокол веб-распределенной разработки и управления версиями (WebDAV): клиентские расширения. [17] Клиентские расширения в этой спецификации расширяют протокол WebDAV, вводя новые заголовки, которые позволяют использовать типы файлов, которые в настоящее время не поддаются управлению, и оптимизируют взаимодействие протоколов для клиентов файловой системы. Эти расширения не вводят новые функции в протокол WebDAV, а вместо этого оптимизируют обработку и устраняют необходимость в обработке в особых случаях.
- [MS-WDVSE]: Протокол веб-распределенной разработки и управления версиями (WebDAV): серверные расширения. [18] Серверные расширения в этой спецификации расширяют WebDAV, вводя новые заголовки HTTP-запроса и ответа, которые позволяют использовать типы файлов, которые в настоящее время не поддаются управлению, и оптимизируют взаимодействие протоколов для клиентов файловой системы. Эта спецификация также представляет новый метод WebDAV, который используется для отправки поисковых запросов разрозненным поисковым провайдерам.
- [MS-WEBDAVE]: Спецификация протокола расширений ошибок веб-распределенного авторинга и управления версиями. [19] Этот интерфейсный протокол 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 . [20]
- AtomPub , протокол на основе HTTP для создания и обновления веб-ресурсов, может использоваться в некоторых случаях использования WebDAV. Он основан на стандартных HTTP-командах со стандартизованными ресурсами коллекции, которые ведут себя как модель каталогов WebDAV.
- CMIS , стандарт, состоящий из набора веб-сервисов для обмена информацией между разрозненными репозиториями контента, стремится обеспечить совместимость для людей и приложений, использующих несколько репозиториев контента; он имеет интерфейсы на основе SOAP и AtomPub
- Программное обеспечение Wiki , такое как MediaWiki .
- Платформа связанных данных (LDP), спецификация связанных данных, определяющая набор шаблонов интеграции для создания RESTful HTTP-сервисов, способных выполнять чтение и запись данных RDF.
- Объектное хранилище, такое как OpenStack Swift или Amazon S3
Смотрите также
- CalDAV
- CardDAV
- GroupDAV
- Управление содержанием
- Сравнение программного обеспечения WebDAV
- Распределенная файловая система
- Регистрация OSID
- ЛЕД
- Переносимость данных
Рекомендации
- ^ «Предлагаемая повестка дня встречи в Сан-Матео» . 1996 г.
- ^ «Краткое содержание» . 1996 г.
- ^ «Re: Обновленная повестка дня» .
- ^ 28 июля 2017 г. "http.webdav - Руководство пользователя Caddy" . Проверено 13 июля 2018 .
- ^ "lighttpd mod webdav" .
- ^ «Реализация WebDAV Mailfence» . Дата обращения 5 мая 2020 .
- ^ "Сервер Windows WebDAV" .
- ^ «Руководство пользователя Nextcloud 18» . nextcloud.com . Проверено 22 февраля 2020 .
- ^ "Модуль ngx_http_dav_module" . сайт nginx . Проверено 15 июля 2016 года .
- ^ «Модуль nginx-dav-ext-module» . github.com . Дата обращения 2 августа 2016 .
- ^ «Документация ownCloud» . owncloud.com . Проверено 23 июля 2018 года .
- ^ DASL Архивировано 3 июня 2004 г. на Wayback Machine
- ^ WebDav ПОИСК
- ^ Снятые с производства функции: Exchange 2010 SP1 Справка Microsoft TechNet
- ^ «WSPP - документация по протоколам Windows Server» . 2011 г.
- ^ «MS-WDVME - протокол Web Distributed Authoring and Versioning (WebDAV): расширения Microsoft» . 2014 г.
- ^ «MS-WDV - Протокол веб-распределенной разработки и управления версиями (WebDAV): клиентские расширения» . 2011 г.
- ^ «MS-WDVSE - протокол Web Distributed Authoring and Versioning (WebDAV): серверные расширения» . 2011 г.
- ^ "MS-WEBDAVE - Спецификация протокола расширений ошибок веб-распределенного авторинга и управления версиями" . 2011 г.
- ^ Рау, Томас (19 октября 2017 г.). "Фильмы, музыка и фильмы в Heimnetzwerk streamen" . PC-WELT (на немецком языке) . Дата обращения 5 ноября 2020 .
Внешние ссылки
- Ресурсы WebDAV
- Проект Davfs2
- Проект Фуседав
- Модули WebDAV Apache