#Что означает проблема и как её распознать
HTTP 508 Loop Detected при WebDAV обычно возникает, когда обход коллекции с Depth: infinity встречает цикл привязок каталогов. Это не ошибка интернет-соединения и не приглашение бесконтрольно удалять папки.
#Основные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Цикл привязок WebDAVКоллекция доступна через ссылки, образующие замкнутый путь. | 508 возникает при рекурсивной операции над папкой. | Администратору найти цикл и исправить привязку. |
| Рекурсивный запрос без поддержки цикловКлиент требует Depth: infinity и не умеет работать с 208 Already Reported. | Обычный просмотр прямых дочерних файлов работает, глубокий — нет. | Использовать клиент с поддержкой привязок или ограниченную глубину по согласованию. |
| Ошибка серверной реализации или плагинаСервер ошибочно формирует связи каталогов. | Проблема появилась после обновления WebDAV-модуля. | Изучить серверные журналы и версии плагинов. |
#Пошаговая диагностика и устранение
- Не удаляйте каталоги и не повторяйте массовую синхронизациюЕсли клиент показал 508, остановите автоматический рекурсивный обход в настройках клиента — обычно это пауза задачи или кнопка «Приостановить», точное название зависит от программы. Запишите адрес корневой папки, время и действие, на котором появилась ошибка. Убедитесь, что локальные копии файлов сохранены. Не удаляйте «папку, из-за которой зависает синхронизация»: она может быть важной связанной коллекцией.
- Проверьте, относится ли проблема именно к рекурсииОткройте тот же каталог через официальный веб-интерфейс хранилища. Попробуйте перейти на один уровень ниже и просмотреть несколько файлов без копирования/удаления. Если обычный просмотр работает, но «скопировать весь каталог» нет, проблема связана с обходом. Если не открывается и один каталог, возможна другая ошибка прав или сервера — сохраните её отдельно.
- Уточните запрос и глубину в безопасном журналеДля администратора: в журналах WebDAV найдите ответ 508 и соответствующий метод, часто PROPFIND с Depth: infinity. Сравните ответ с RFC 5842; 508 может быть и общим статусом, и частью многостатусного ответа. Не публикуйте заголовки с паролями. Если у программы есть журнал диагностики, соберите только URL, метод, Depth и время, без содержимого чужих папок.
- Найдите цикл без разрушительных действийВ административной панели или конфигурации WebDAV просмотрите созданные привязки BIND и структурные ссылки коллекций: например, когда папка A ссылается на B, а B снова открывает A. Составьте схему и сохраните конфигурацию/экспорт списка привязок до редактирования. Обычные файловые символические ссылки и WebDAV BIND — не одно и то же; не удаляйте ссылки на диске без подтверждения, что именно они участвуют в ошибке.
- Исправление владельцем сервера и повторная проверкаНа тестовой копии исправьте ошибочную привязку либо настройте клиент, понимающий циклические WebDAV-коллекции (если сервер это поддерживает). Сначала проверьте просмотр верхнего уровня, затем ограниченную рекурсию и только после этого полную операцию. Если ошибка осталась, восстановите исходные привязки из сохранённого экспорта и обратитесь к разработчику сервера с журналом 508; случайная замена прав доступа не устранит цикл.
#Как проверить результат и что делать, если не помогло
Программа корректно перечисляет нужные каталоги без бесконечной рекурсии, сервер больше не отвечает 508 на допустимый запрос. Если сервер возвращает 208 внутри многостатусного ответа, это не обязательно ошибка: клиент должен уметь его интерпретировать.