HTTP status code · Success (2xx)
208 Already Reported
208 Already Reported is used inside a WebDAV 207 Multi-Status body to say a collection's members were already listed earlier in the same response, reached through another binding. It keeps a PROPFIND with Depth: infinity from listing the same folder twice or looping forever.
| Class | 2xx, Success |
|---|---|
| Defined in | RFC 5842 §7.1 |
| Cacheable by default | Only with explicit Cache-Control or Expires |
| Safe to retry | Not applicable; it only appears inside a 207 body |
| Relevant headers |
|
What 208 means
RFC 5842 (an Experimental RFC) adds bindings to WebDAV, which let one collection appear at several paths, much like hard links. Section 7.1 says that when a Depth: infinity request reaches the same collection again, only the first binding is reported with 200; later ones get 208 and their descendants are skipped.
Servers SHOULD NOT use 208 unless the client announced support through the DAV request header. For older clients a server that finds a binding loop returns 508 Loop Detected instead.
How to send 208
Never send 208 as the top-level status; it only makes sense inside a 207 Multi-Status body.
// Fragment of a 207 body for a bind-aware client (DAV: bind)
const multistatus = `<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/Coll/</D:href>
<D:propstat><D:prop><D:displayname>Coll</D:displayname></D:prop>
<D:status>HTTP/1.1 200 OK</D:status></D:propstat>
</D:response>
<D:response>
<D:href>/Coll/Bar/</D:href>
<D:propstat><D:prop><D:displayname>Bar</D:displayname></D:prop>
<D:status>HTTP/1.1 208 Already Reported</D:status></D:propstat>
</D:response>
</D:multistatus>`;
res.status(207).type('application/xml').send(multistatus);Commonly confused with
- 208 vs 207
- 207 is the top-level response code; 208 is one of the per-item codes that can appear inside its body.
- 208 vs 508
- 508 Loop Detected aborts the operation when a binding loop is found; 208 lets it continue by skipping the repeated collection.
Frequently asked questions
- Will I ever see 208 in a browser?
- Almost certainly not. It is used only by WebDAV servers that implement RFC 5842 bindings, inside 207 responses to bind-aware clients.
- When may a server use 208?
- Only for Depth: infinity requests from clients that sent the DAV request header signaling bind support. Otherwise the server should return 508 Loop Detected on a loop.
- Is 208 Already Reported a standard code?
- It is registered with IANA, but its defining document, RFC 5842, is an Experimental RFC rather than a Standards Track one.
Last reviewed by Arielton Oberek.