508 Loop Detected
Применение в контексте WebDAV
Код состояния 508 Loop Detected возникает, когда клиент отправляет WebDAV-запрос для целого каталога и результат создаёт цель внутри того же дерева. Это порождает бесконечный цикл запросов/ответов при Depth: Infinity, и сервер прерывает всю операцию.
Применение в контексте cPanel / CloudLinux
Код состояния 508 Resource Limit Is Reached формируется средами виртуального хостинга на базе cPanel с CloudLinux, когда превышен один из лимитов ресурсов учётной записи. Примеры лимитов ресурсов: загрузка ЦП, физическая память, пропускная способность ввода-вывода и число одновременных процессов (entry processes).
Влияние на SEO
Поисковые системы обрабатывают 508 так же, как остальные серверные ошибки 5xx. Постоянные сбои снижают скорость сканирования и в конечном счёте приводят к удалению затронутых URL из индекса.
Пример
Клиент WebDAV запрашивает рекурсивный листинг каталога. Сервер обнаруживает цикл привязок в иерархии коллекции и прерывает запрос.
Запрос
PROPFIND /shared/ HTTP/1.1
Host: example.com
Depth: infinity
Content-Type: application/xml
Ответ
HTTP/1.1 508 Loop Detected
Content-Type: text/html; charset=UTF-8
Content-Length: 174
<html>
<head>
<title>Loop Detected</title>
</head>
<body>
<p>The server detected an infinite loop
while processing the directory tree.</p>
</body>
</html>
Как исправить
Для WebDAV (508 Loop Detected):
Запрос PROPFIND с Depth: infinity наткнулся на циклическую привязку, когда коллекция содержит ссылку обратно на родителя или на саму себя.
Для cPanel / CloudLinux (508 Resource Limit Is Reached):
Учётная запись хостинга превысила лимит ресурсов: ЦП, память, ввод-вывод или число entry-процессов.
Примеры кода
.NET
HttpStatusCode.LoopDetected
Rust
http::StatusCode::LOOP_DETECTED
Rails
:loop_detected
Go
http.StatusLoopDetected
Symfony
Response::HTTP_LOOP_DETECTED
Python3.5+
http.HTTPStatus.LOOP_DETECTED
Apache HttpComponents Core
org.apache.hc.core5.http.HttpStatus.SC_LOOP_DETECTED
Angular
@angular/common/http/HttpStatusCode.LoopDetected