406 Not Acceptable
The server cannot produce a representation matching the client's Accept, Accept-Language or Accept-Encoding constraints during content negotiation.
What it means
406 Not Acceptable arises in server-driven content negotiation: the client's Accept* headers exclude every representation the server can generate. In practice many servers ignore the mismatch and return their default representation instead of a 406.
Why it matters
- It formally signals a negotiation dead-end so clients can relax their Accept constraints.
Common mistakes
- Returning 406 aggressively when serving a sensible default would be friendlier.
- Confusing 406 (cannot satisfy Accept) with 415 (cannot accept the request's Content-Type).
How WebInspect checks this
- WebInspect reports Content-Type and Vary so negotiation behaviour is visible.