208 Already Reported
Suppresses repeated internal members inside a WebDAV Multi-Status response that has already been listed once earlier in the same binding tree.
Defined in RFC 5842 §7.1
What 208 means
HTTP 208 Already Reported is used exclusively inside a 207 Multi-Status response body, not as a standalone top-level status, to avoid repeatedly enumerating the same resource multiple times when WebDAV bindings create more than one path to it. WebDAV supports binding, letting a single resource appear at several different URLs within a collection hierarchy, similar to a hard link on a filesystem. When an operation like PROPFIND traverses such a structure and would otherwise report the same underlying resource once for every path that reaches it, 208 lets the server report it fully the first time and then simply note, on later encounters, that it has already been reported.
This keeps multistatus responses compact and unambiguous when a deeply bound collection tree would otherwise produce a combinatorial explosion of duplicate entries for the same underlying resource. Because most WebDAV servers do not implement multiple bindings to the same resource, and most filesystems and object stores expose a strict tree without hard-link-like semantics, 208 is one of the least frequently encountered status codes in real traffic, appearing almost exclusively in WebDAV implementations that specifically support the DAV binding extension.
Client libraries need explicit support for 208 inside a multistatus body to avoid either double-counting a resource or, worse, failing to parse the response at all because an unrecognized inner status confuses a naive parser. Since binding support is optional in WebDAV and rarely deployed, most general-purpose HTTP and WebDAV client code can safely treat 208 as an edge case to handle gracefully rather than something to actively test against in everyday integrations.
Common causes
- A WebDAV collection uses bindings so a single underlying resource is reachable through more than one path in the hierarchy.
- A PROPFIND or similar traversal walks a bound tree and reaches the same resource again through a different href.
- The server wants to avoid duplicating full property listings for a resource that already appeared earlier in the same multistatus response.
How to fix a 208
If you are the client (browser user or API caller)
- Parse 208 entries inside a multistatus body as a reference to a resource already reported, not as an error or an unknown status.
- Deduplicate resources by their canonical identity rather than by href alone when a server may expose bindings.
If you run the server
- Only emit 208 inside a 207 Multi-Status body, never as a top-level response status.
- Ensure the first occurrence of a bound resource in the response includes its full properties, with later occurrences using 208 to reference it.
- Support DAV binding extensions only where clients are known to handle 208 correctly, to avoid confusing simpler WebDAV clients.
Example
PROPFIND /webdav/project/ HTTP/1.1
Host: files.example.com
Depth: infinity
HTTP/1.1 207 Multi-Status
Content-Type: application/xml
<multistatus xmlns="DAV:">
<response>
<href>/webdav/project/spec.docx</href>
<propstat><status>HTTP/1.1 200 OK</status></propstat>
</response>
<response>
<href>/webdav/project/shared/spec.docx</href>
<status>HTTP/1.1 208 Already Reported</status>
</response>
</multistatus>Try it live
Our free status responder returns a real HTTP 208 you can point tests, monitors or a browser at.
GET https://mcp.httpstatus.com/status/208