506 Variant Also Negotiates
A content negotiation misconfiguration: the chosen variant is itself a negotiable resource, creating a circular reference.
Status
HTTP/1.1 506 Variant Also Negotiates
Details
- Category: 5xx
- Status: Experimental. Defined by an experimental or informational RFC.
- Specification: RFC 2295 §8.1
- Cacheable: Only with explicit cache headers
- Response body: Allowed
- Retry: Do not retry
506 comes from transparent content negotiation. The server picked a variant to satisfy the request, and that variant turned out to be another negotiable resource rather than a concrete representation, so negotiation cannot terminate.
It is purely a server configuration error, and it is extremely rare because transparent content negotiation was never widely deployed.
Common causes
- A variant map pointing at another negotiable resource instead of a concrete file.
- A circular negotiation chain in an Apache type map configuration.
How to fix it
As the client
- Nothing useful. The fault is in the server's negotiation configuration.
As the server
- Point every variant at a concrete representation, never at another negotiable resource.
- Prefer ordinary server-driven negotiation with Accept headers and Vary.
Examples
GET /docs/manual HTTP/1.1 Host: www.example.com Negotiate: trans HTTP/1.1 506 Variant Also Negotiates