508 Loop Detected
WebDAV-spezifische Verwendung
Der Statuscode 508 Loop Detected tritt auf, wenn der Client eine WebDAV-Anfrage für ein gesamtes Verzeichnis stellt und das Ergebnis ein Ziel innerhalb desselben Baums erzeugt. Dadurch entsteht mit Depth: Infinity eine endlose Schleife aus Anfrage und Antwort, und der Server bricht den gesamten Vorgang ab.
cPanel-/CloudLinux-spezifische Verwendung
Der Statuscode 508 Resource Limit Is Reached wird von Shared-Hosting-Umgebungen erzeugt, die cPanel mit CloudLinux betreiben, wenn eines der Ressourcenlimits des Kontos überschritten wurde. Beispiele für Ressourcenlimits sind CPU-Auslastung, physischer Arbeitsspeicher, I/O-Durchsatz und die Anzahl gleichzeitiger Prozesse (entry processes).
SEO-Auswirkung
Suchmaschinen behandeln 508 genauso wie andere 5xx-Serverfehler. Anhaltende Fehlschläge senken die Crawling-Rate und entfernen betroffene URLs letztlich aus dem Index.
Beispiel
Ein WebDAV-Client fordert eine rekursive Verzeichnisauflistung an. Der Server erkennt eine Bindungsschleife innerhalb der Collection-Hierarchie und bricht die Anfrage ab.
Anfrage
PROPFIND /shared/ HTTP/1.1
Host: example.com
Depth: infinity
Content-Type: application/xml
Antwort
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>
Behebung
Für WebDAV (508 Loop Detected):
Ein PROPFIND mit Depth: infinity ist auf eine zirkuläre Bindung gestoßen, bei der eine Collection einen Verweis zurück auf ein übergeordnetes Element oder auf sich selbst enthält.
Für cPanel / CloudLinux (508 Resource Limit Is Reached):
Das Hosting-Konto hat ein Ressourcenlimit überschritten: CPU, Arbeitsspeicher, I/O oder die Anzahl der Entry-Prozesse.
Code-Referenzen
.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