Skip to content

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

A circular content negotiation configuration

HTTP request

GET /docs/manual HTTP/1.1
Host: www.example.com
Negotiate: trans

HTTP response

HTTP/1.1 506 Variant Also Negotiates

Specifications

See also