508 Loop Detected
Utilisation propre à WebDAV
Le code de statut 508 Loop Detected survient lorsque le client soumet une requête WebDAV portant sur un répertoire entier et que le résultat crée une cible à l’intérieur de la même arborescence. Cela produit une boucle requête/réponse infinie avec Depth: Infinity, et le serveur met fin à l’ensemble de l’opération.
Utilisation propre à cPanel / CloudLinux
Le code de statut 508 Resource Limit Is Reached est généré par les environnements d’hébergement mutualisé fonctionnant sous cPanel avec CloudLinux lorsque l’une des limites de ressources du compte a été dépassée. Parmi les exemples de limites de ressources figurent l’utilisation CPU, la mémoire physique, le débit d’E/S et le nombre de processus simultanés (entry processes).
Impact SEO
Les moteurs de recherche traitent le 508 comme les autres erreurs serveur 5xx. Des défaillances persistantes réduisent la vitesse de crawl et finissent par retirer les URL concernées de l’index.
Exemple
Un client WebDAV demande un listage récursif de répertoire. Le serveur détecte une boucle de liaison dans la hiérarchie de collections et met fin à la requête.
Requête
PROPFIND /shared/ HTTP/1.1
Host: example.com
Depth: infinity
Content-Type: application/xml
Réponse
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>
Comment corriger
Pour WebDAV (508 Loop Detected) :
Un PROPFIND avec Depth: infinity a rencontré une liaison circulaire, où une collection contient une référence vers un parent ou vers elle-même.
Pour cPanel / CloudLinux (508 Resource Limit Is Reached) :
Le compte d’hébergement a dépassé une limite de ressources : CPU, mémoire, E/S ou nombre d’entry processes.
Références de code
.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