WebDAV: что это, как настроить и использовать протокол

Делаем удалённую файловую систему сами

WebDAV: что это, как настроить и использовать протокол

Иногда нужно получить доступ к своим файлам на удалённом сервере так, будто они лежат у вас на диске. Для этого есть WebDAV — старый, но надёжный протокол, который превращает сервер в сетевое хранилище. Он работает через обычный HTTP, легко настраивается и поддерживается почти всеми платформами.

Сегодня разберёмся, как всё это устроено, как самим настроить WebDAV-сервер и подключиться к нему с любого устройства.

Что такое WebDAV

WebDAV (Web Distributed Authoring and Versioning) появился в 1996 году как расширение HTTP. Он позволяет не просто читать данные с сервера, но и редактировать, загружать, удалять и перемещать файлы на удалённом сервере так, будто это просто папка на вашем компьютере.

По сути, WebDAV — это как бы локальный доступ к облачному хранилищу, только без специального софта и к своему личному. Работает поверх обычного HTTP или HTTPS, а выглядит как обычный сетевой диск.

Изначально WebDAV создавали для командной работы над сайтами, но он отлично вписался в другие сценарии:

  • подключение Nextcloud или Яндекс Диска;
  • удалённый доступ к файлам с NAS;
  • работа через VPN;
  • бэкапы и просто «сбросить фотки на сервер».

Также WebDAV часто используется в различных системах документооборота и корпоративных платформах, где нужно дать доступ к файлам без поднятия FTP или SMB.

Поддерживается почти везде: Windows, macOS, Android, Linux, сетевые хранилища и облачные платформы.

WebDAV: что это, как настроить и использовать протокол

Основные возможности и особенности WebDAV

WebDAV — это полноценный набор инструментов для управления файлами на удалённом сервере.

  • Блокировки — можно «заблокировать» документ, чтобы никто другой не начал его редактировать одновременно с вами.
  • Метаданные (свойства) — у файлов могут быть дополнительные свойства (например, автор или описание), и WebDAV умеет с ними работать.
  • Коллекции (папки) — сервер поддерживает структуру папок, как в обычной файловой системе. Можно создавать, переименовывать, перемещать.
  • Совместная работа — WebDAV позволяет нескольким пользователям работать с одними и теми же файлами, не мешая друг другу.
  • Работа с любыми типами файлов — WebDAV не привязан к какому-то конкретному формату.

Методы запросов WebDAV

WebDAV расширяет стандартный набор HTTP-команд (GET, POST, DELETE и другие), которые обычно используются для загрузки страниц, отправки форм и удаления данных. Но WebDAV добавляет команды, которые позволяют работать с файлами так же, как в обычной файловой системе: создавать папки, копировать, перемещать, блокировать и всё такое.

PROPFIND — получить свойства файла или папки. Сюда входит имя, дата изменения, размер, структура вложенных папок — всё это возвращается в виде XML.

PROPPATCH — обновить свойства ресурса. Например, можно изменить описание файла, добавить автора или тег. 

MKCOL — создать коллекцию, то есть папку. Если нужно организовать структуру, без этой команды никуда.

COPY — скопировать файл или папку с одного адреса на другой. Удобно, если нужно дублировать данные или сделать резервную копию.

MOVE — переместить файл или папку. По сути, это как вырезать и вставить — с сохранением всех данных.

LOCK — поставить блокировку. Полезно, когда вы редактируете документ и не хотите, чтобы кто-то влез и перезаписал вашу версию.

UNLOCK — снять блокировку, когда работа закончена.

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

Поддержка серверов и клиентов WebDAV

Чтобы использовать WebDAV, нужны две стороны: сервер, который умеет принимать и обрабатывать команды WebDAV, и клиент, который с ним общается — файловый менеджер, мобильное приложение или даже просто консоль.

WebDAV поддерживается во многих популярных веб-серверах: в том же Apache HTTP Server он работает с модулем mod_dav, а вот в Nginx требует немного больше плясок с конфигом, но работает через сторонние модули.

Ещё есть Microsoft IIS — уже встроенная поддержка WebDAV, включается через панель управления и Nextcloud / ownCloud, полноценные облачные системы с WebDAV-доступом.

Почти все операционные системы позволяют подключаться к WebDAV-серверу как к обычному сетевому хранилищу:

  • Windows — можно подключить WebDAV как сетевой диск прямо из Проводника.
  • macOS — встроенная поддержка через Finder.
  • Linux — Nautilus, Dolphin, Caja и другие файловые менеджеры.
  • Мобильные — ES File Explorer (Android), Documents by Readdle (iOS) и многие другие.

Теперь посмотрим, как настроить свой сервер.

Как настроить сервер WebDAV

WebDAV — это не отдельная программа, а расширение для веб-серверов. Проще говоря, это надстройка над HTTP, которая позволяет обращаться к удалённым файлам через стандартный веб-протокол. Вариантов настройки — множество, и можно буквально на коленке собрать свой сервер. Разберём несколько самых простых вариантов.

На mac, Windows или Linux через Python

Можно запустить свой WebDAV-сервер прямо на ноутбуке, без всяких Apache и сложных конфигураций. Всё что нужно — установленный Python и одна команда. 

Устанавливаем через командную строку или терминал пакет wsgidav:

pip install wsgidav

Если работаете в изолированной среде (рекомендуется), сначала создаём виртуальное окружение:

python3 -m venv mywebdavenv
source mywebdavenv/bin/activate # или .\mywebdavenv\Scripts\activate на Windows
pip install wsgidav

Потом создаём папку, куда будем кидать файлы:

mkdir ~/webdav-folder

И запускаем сервер:

wsgidav --host=0.0.0.0 --port=8080 --root ~/webdav-folder --auth anonymous

Готово!

Переходим в браузер по адресу http://localhost:8080 и видим интерфейс:

WebDAV: что это, как настроить и использовать протокол

Как к нему подключиться и дальше работать — расскажем чуть позже в следующем разделе.

NAS (Synology, QNAP и другие)

Если у вас есть NAS — поздравляем, это почти готовый WebDAV-сервер из коробки.

NAS (Network Attached Storage) — это такой мини-компьютер с дисками, который круглосуточно сидит в сети. Он умеет раздавать файлы, стримить видео, делать бэкапы и, конечно, запускать WebDAV-сервер. Как Яндекс Диск, только дома.

WebDAV: что это, как настроить и использовать протокол

Большинство NAS-устройств уже поддерживают WebDAV. Всё, что требуется от пользователя, — зайти в панель управления, включить нужную функцию и при необходимости настроить пользователей и папки. Подробные инструкции обычно есть в официальной документации, и часто процесс сводится буквально к нескольким кликам.

Облачные сервисы с поддержкой WebDAV

Чтобы руками не настраивать свой сервер, можно использовать готовые решения типа того же Диска. Это не WebDAV-сервисы по своей природе, но они предоставляют доступ к своим облачным хранилищам через WebDAV-протокол. Для этого они встроили поддержку протокола, чтобы пользователи могли подключаться к их серверам как к сетевому диску.

Яндекс Диск поддерживает WebDAV-доступ по адресу https://webdav.yandex.ru. Но просто логина и пароля от аккаунта будет недостаточно — потребуется создать отдельный пароль для приложения в настройках безопасности. Это делается один раз, после чего можно подключаться к хранилищу с любого устройства. Как это сделать, посмотрим чуть позже.

WebDAV: что это, как настроить и использовать протокол

Если используете Nextcloud или ownCloud, WebDAV входит в них по умолчанию. Обычно это развёрнутые на сервере решения, которые позволяют создать личное облако с полным контролем всего. 

Настройка сервера для удалённого доступа к файлам USB-накопителя

Допустим, у вас есть флешка с нужными файлами — с помощью WebDAV можно расшарить её через сервер и получить к ней доступ из любой точки мира. Для этого есть два способа — с помощью NAS или на обычном компе, уровень сложности разный :-)

Чтобы дать доступ к флешке или диску через NAS, делаем так:

  1. Подключаем флешку или жёсткий диск в USB-порт на NAS-устройстве. 
  2. Создаём общую папку в панели управления NAS и указываем, что она ссылается на этот диск.
  3. Включаем WebDAV-сервер — чаще всего это делается просто галочкой в настройках. Обычно используются порты 5005 (HTTP) и 5006 (HTTPS).
  4. Разрешаем доступ пользователям — настраиваем логины и права доступа.
  5. Всё, теперь можно подключаться к этому хранилищу из любой точки мира, как к облачному диску.

Если же NAS нет, то делаем на обычном компьютере. Например, у нас уже есть локальный сервер на Python (как мы делали в прошлом разделе):

1. Подключаем флешку к компьютеру. Мы уже скинули туда нужные файлы и хотим получить к ним доступ удалённо.
2. Устанавливаем WebDAV-сервер. Открываем терминал и запускаем:

pip install wsgidav
wsgidav --host=0.0.0.0 --port=8080 --root /путь/к/флешке --auth anonymous

Указываем путь к флешке — она будет расшарена.

3. Проверяем, что порт 8080 открыт. Проверяем настройки фаервола и открываем порт на роутере, если хотим доступ из интернета (а не только внутри сети).
4. Узнаём IP-адрес компьютера: в Windows: ipconfig, на macOS/Linux: ifconfig или ip a.
5. Подключаемся с другого устройства — просто заходим по ссылке: http://IP_компьютера:8080

После этого видим файлы на флешке как на сетевом диске.

Можно настроить авторизацию и SSL, чтобы было безопаснее, но для домашней сети и временного доступа часто хватает и базовой конфигурации.

Как подключиться к WebDAV-серверу

Когда сервер уже настроен, осталось только подключиться. Логика такая же, как при монтировании облачного диска: в Проводнике или файловом менеджере появится новая папка и можно работать с ней как с обычной. 

Разберёмся, как подключаться с Windows, Linux и телефона.

Подключение на Windows

1. Откройте Проводник → нажмите правой кнопкой на «Этот компьютер» → Подключить сетевой диск…

WebDAV: что это, как настроить и использовать протокол

2. Выберите букву диска (любую свободную).

    WebDAV: что это, как настроить и использовать протокол

    3. В поле «Папка» вставьте адрес сервера, например:

    http://localhost:8080
    https://webdav.example.com/remote.php/dav/files/ваше_имя

    4. Поставьте галочку «Использовать другие учётные данные».
    5. Нажмите «Готово» и введите логин и пароль (или пароль приложения, если требуется).

    После подключения в Проводнике появится сетевой диск, с которым можно работать как с обычной папкой. 

    Подключение на Linux

    Подключиться к WebDAV-серверу в Linux можно двумя способами: через файловый менеджер или через davfs2 (монтирование в систему как обычную папку).

    Способ через файловый менеджер подходит, если просто нужно открыть папку и покидать туда файлы — без заморочек с терминалом.

    1. Открываем файловый менеджер (Nautilus, Nemo, Dolphin — зависит от среды).
    2. Находим раздел «Подключиться к серверу».

    WebDAV: что это, как настроить и использовать протокол

    3. Вводим адрес. Для подключения по протоколу HTTP без шифрования (подходит для домашнего сервера) так:

    dav://ip_адрес_сервера:порт

    Защищённый с шифрованием:

    davs://example.com/remote.php/webdav/
    WebDAV: что это, как настроить и использовать протокол

    4. Вводим логин и пароль → подключаемся.

    WebDAV: что это, как настроить и использовать протокол

    Если хочется смонтировать WebDAV-диск в систему как обычную папку — действуем через терминал и используем davfs2. Это драйвер, который позволяет монтировать WebDAV-сервер как обычную папку в файловой системе Linux. Можно обращаться к удалённым файлам так же, как к локальным: через терминал, редакторы, скрипты, всё что угодно.

    Для начала устанавливаем davfs2:

    sudo apt install davfs2

    Создаём папку для монтирования:

    mkdir ~/webdav

    Добавляем данные в файл ~/.davfs2/secrets:

    https://example.com/remote.php/webdav/ логин пароль

    Монтируем:

    mount ~/webdav

    Чтобы всё автоматически подключалось при старте, добавляем строку в /etc/fstab:

    https://example.com/remote.php/webdav/ /home/твой_пользователь/webdav davfs user,rw,auto 0 0

    Если при монтировании возникают ошибки, связанные с блокировками (LOCK not supported), попробуйте отключить их. Для этого откройте файл:

    sudo nano /etc/davfs2/davfs2.conf

    И раскомментируйте или добавьте строку:

    use_locks 0

    В некоторых дистрибутивах конфиг может находиться в ~/.davfs2/davfs2.conf[/indent].

    Подключение на мобильных устройствах (Android, iOS)

    Чтобы работать с файлами с WebDAV прямо с телефона, нужно установить подходящее приложение и прописать адрес сервера. 

    На Android есть множество клиентов с поддержкой WebDAV. Вот несколько реально удобных:

    • FolderSync — синхронизирует папки между сервером и телефоном.
    • WebDAV Navigator — простой и понятный интерфейс.
    • Solid Explorer — мощный файловый менеджер, нужно только установить плагин WebDAV.

    WebDAV: что это, как настроить и использовать протокол

    Для iPhone и iPad:

    • Documents Readdle — фактически швейцарский нож для файлов, позволяет подключаться через WebDAV.
    • FE File Explorer — поддерживает кучу протоколов, в том числе WebDAV.
    • WebDAV Navigator — да, и тут он есть.

    Принцип тот же: добавляете новый сервер, вбиваете логин-пароль — и файлы появляются. Можно качать, открывать, перекидывать в другие приложения и даже сохранять офлайн.

    Создание пароля приложения для авторизации

    Если вы подключаетесь к Яндекс Диску или Облаку Mail.ru, обычный пароль не подойдёт. Нужно создать специальный пароль приложения.

    Яндекс Диск:

    1. Зайдите в настройки безопасности Яндекса.
    2. Найдите «Пароли приложений» → нажмите Создать.
    3. Тип приложения — Файлы (WebDAV).
    4. Скопируйте сгенерированный пароль — его и используем при подключении.

    WebDAV: что это, как настроить и использовать протокол

    При подключении в Windows логин — это почта, пароль — сгенерированный ключ приложения.

    Преимущества и недостатки WebDAV

    WebDAV не новенький модный протокол, он появился ещё в конце 90-х, когда интернет только учился работать с файлами. И у него есть как свои плюсы, так и минусы.

    Преимущества

    • Универсальность. Работает почти везде: Windows, Linux, macOS, Android, iOS. 
    • Нативная интеграция. Не нужно ставить дополнительные клиенты — в большинстве ОС WebDAV можно подключить как сетевой диск, прямо через Проводник или Finder.
    • Работа «на лету». Файлы не нужно скачивать — можно открывать и сохранять прямо на сервере, как на обычном диске. Подходит для документов, бэкапов, проектов.
    • HTTPS = безопасность. Если настроено правильно, всё шифруется, а доступ можно ограничить логином и паролем.
    • Открытый стандарт и бесплатность. Не требует платных лицензий и работает поверх обычного HTTP. Можно настроить хоть на домашнем ноуте.

    Недостатки

    • Не подходит для больших файлов. Windows, например, по умолчанию режет размер до 50 МБ. Можно обойти, но надо лезть в реестр.
    • Нестабильная поддержка в клиентах. Некоторые приложения криво реализуют WebDAV, и что-то может не работать: то файлы не открываются, то не проходит логин.
    • Никакого удобного интерфейса. В отличие от облачных хранилищ, здесь всё минималистично — никакой автосинхронизации, предпросмотра и прочего.
    • Нужно всё настраивать руками. Придётся разбираться в IP-адресах, правах доступа, портах. Для новичков может быть сложно, но для опытных это скорее преимущество.

    Вам слово

    Приходите к нам в соцсети поделиться своим мнением о WebDAV и почитать, что пишут другие. А ещё там выходит дополнительный контент, которого нет на сайте: шпаргалки, опросы и разная дурка. В общем, вот тележка, вот ВК — велком!

    Обложка:

    Алексей Сухов

    Корректор:

    Елена Грицун

    Вёрстка:

    Кирилл Климентьева

    Соцсети:

    Юлия Зубарева

    Получите ИТ-профессию
    В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
    Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
    А вы читали это?
    hard