5xx Server errors
Last updated Jun 09, 2026

What is HTTP Status Code 508? - Loop Detected

Benjamin Bouchet
Benjamin Bouchet
Get your free
Abstract
 API key now
stars rating
4.8 from 1,863 votes
See why the best developers build on Abstract
START FOR FREE
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
No credit card required

The HTTP Status Code 508 means that the server detected an infinite loop while processing the request.

Status Code 408 is typically sent instead of Status Code 208, Already Reported.

Frequently Asked Questions

What does the HTTP 508 status code mean?

HTTP 508 Loop Detected is a server-side error response indicating that the server terminated an operation because it encountered an infinite loop while processing the request. The server stops the operation as a protective measure rather than allowing it to run indefinitely. It is defined in RFC 5842 and is used primarily in the context of WebDAV.

When does a server return a 508 status code?

A 508 is most commonly returned during WebDAV operations — specifically when a PROPFIND request is sent with a Depth: infinity header and the resource hierarchy contains cyclic references. For example, if a directory tree includes a symbolic link or binding that points back to one of its own ancestor directories, the traversal never ends and the server returns 508 to abort the operation.

How do I fix an HTTP 508 error?

Start by inspecting the WebDAV resource collection for circular references — a child collection pointing back to a parent is the most common cause. Remove or correct the cyclic binding to break the loop. As a short-term workaround, replace Depth: infinity with Depth: 1 to traverse the tree one level at a time instead of recursively.

What is the difference between HTTP 508 and 208?

HTTP 208 Already Reported allows a WebDAV operation to succeed even when loops exist — the server marks already-visited members with a 208 status inside a multi-status response to avoid re-reporting them. This requires the client to signal support for WebDAV bindings via the DAV: bind capability. HTTP 508 is used as a fallback for clients that do not advertise bind support; in those cases the server cannot safely use 208 and instead aborts the operation entirely, returning 508 to signal the loop condition.

How is HTTP 508 different from HTTP 507?

Both are WebDAV-associated 5xx server errors, but they signal different problems. HTTP 507 Insufficient Storage means the server cannot complete the request because it has run out of storage space. HTTP 508 Loop Detected means the server aborted the operation because the request produced an infinite loop in the resource hierarchy — a logical problem, not a capacity problem.

Is a 508 error the client's fault or the server's fault?

It depends on the root cause. The loop itself is usually caused by a misconfigured resource structure — such as a circular WebDAV binding or a symbolic link pointing to an ancestor directory — which is typically a server-side or administrator configuration issue. However, a client sending a Depth: infinity request against a large or poorly structured collection can trigger the condition, so auditing both the server's resource hierarchy and the client's request parameters is the right starting point.

Get your free
API
key now
stars rating
4.8 from 1,863 votes
See why the best developers build on Abstract
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
No credit card required