208 Already Reported
Used inside a DAV:propstat response element to avoid enumerating the members of multiple bindings repeatedly.
Usually happens because:
- ☑ WebDAV property requests (PROPFIND) query
🔍 Quick Checklist:
Meaning
The HTTP 208 Already Reported WebDAV status code is used inside a 207 Multi-Status response body to indicate that a binding has already been reported in a previous response element, avoiding duplicate resource definitions.
Root Causes
- WebDAV property requests (PROPFIND) query cycles on circular bindings or symbolic link trees.
| Cause | Frequency |
|---|---|
| WebDAV property requests (PROPFIND) query | ⭐⭐⭐⭐⭐ |
Common Mistakes
- Failing to track query depth, resulting in proxy infinite loops despite 208 support.
- Misinterpreting 208 Already Reported as an error state.
How to Fix
Framework-Specific Examples
Express router returning status code 208.
app.propfind('/circular', (req, res) => {
res.status(208).end();
});Server Configuration Examples
Passing WebDAV methods in Nginx configuration.
dav_methods PUT DELETE MKCOL COPY MOVE;Prevention
- Limit WebDAV folder query depth using Depth headers.
- Verify client library WebDAV parsing loops are guarded.
Frequently Asked Questions (FAQ)
Q: What is the primary benefit of 208 Already Reported?
It prevents infinite loops and reduces network overhead when WebDAV directories contain deep loops, internal links, or cross-referenced folders.
Q: Where is 208 Already Reported placed?
It is returned inside the `<status>` elements within a 207 Multi-Status XML response body.
Q: Is 208 supported by standard browsers?
Directly no. Standard browsers do not speak WebDAV natively. The code is handled by dedicated WebDAV desktop clients or network mounts.
Q: What is the difference between 208 and 207?
207 is the root response status code indicating that multiple results are enclosed. 208 is an individual item status code inside the 207 body indicating duplicate listings have been skipped.