HTTP 406

HTTP 406 Not Acceptable โ€” Meaning, Causes & How to Fix

The resource cannot produce a response matching the Accept headers sent in the request.

Code
406
Name
Not Acceptable
Class
4xx Client Error
Specification
RFC 9110 ยง15.5.7
Cacheable by default
Only with explicit Cache-Control / Expires

What HTTP 406 means

406 Not Acceptable is a content-negotiation failure: the client asked (via Accept, Accept-Language or Accept-Encoding) for a format the server cannot produce. Most servers prefer to send a default format instead of a 406.

Common causes

How to fix it

For site owners

For visitors & developers

SEO impact

Rare for pages; crawlers send broad Accept headers. A WAF returning 406 to crawlers keeps those pages out of the index.

Example 406 response

HTTP/1.1 406 Not Acceptable
Content-Type: application/json

{"error":"supported types: application/json"}

Related status codes

415 ยท Unsupported Media Type400 ยท Bad Request403 ยท Forbidden401 ยท Unauthorized402 ยท Payment Required404 ยท Not Found405 ยท Method Not Allowed408 ยท Request Timeout

Check or look up another code

Search and filter every code in the HTTP Status Codes tool, browse the full list by class, or read HTTP status codes explained: the complete developer guide.

Open HTTP Status Codes tool โ†’All status codes

Frequently asked questions

What does HTTP 406 mean?

HTTP 406 Not Acceptable is a 4xx Client Error status code. The resource cannot produce a response matching the Accept headers sent in the request.

What is the difference between 406 and 415?

406 is about the response format the client wants (Accept); 415 is about the request body format the client sent (Content-Type).

Which specification defines 406?

It is defined in RFC 9110 ยง15.5.7.

Is a 406 response cacheable?

Not by default. A 406 response is only stored by caches when it carries explicit freshness information such as Cache-Control: max-age or Expires.

More PAYATE tools