HTTPQUERY
Русский

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