Error 406 Not Acceptable – What It Means and How to Fix It Fast

Did you ever encounter the error message “error 406 not acceptable” when you had to load a site or access a web application? In that case, you are far not alone. It is a status code of this sort of HTTP which leaves programmers and users at a loss.

We are going to break down what is 406 not acceptable means, explain why it occurs, and give you step-by-step instruction on how to rectify it in a hurry, whether you are a casual user facing this problem or worse have a site which you own and need to get rid of the 406 http code quickly, or finally as a developer seeking to do away with this irritating 406 http code forever.

What Does HTTP 406 Not Acceptable Mean?

Let’s begin at the beginning: What does 406 not acceptable mean

The 406 response code is a member of the HTTP status code family, and quite literally means that the server has not been able to send information back to you in response to your request in a format with which you will be content (most likely your browser).

Technically, status 406 response messages is initiated in case, the server comprehends the request, but cannot supply it due to the content negotiation. This is normally in relation to the Accept (Accept-Language, Accept-Encoding or Accept-Type) headers which are provided by your browser or an application.

In other words: You are requesting to have something, but the server neither understands you nor knows how to give you what you require.

What Causes the 406 HTTP Code?

There are a few common scenarios that can trigger a 406 not acceptable error:

1. Incorrect or overly strict Accept headers

Your browser or API client gets a response with certain demands (e.g. “I only accept JSON or XML”), but the server is not able to meet them.

2. Server misconfiguration

Sometimes a misconfigured web server or security rule (like in mod_security on Apache) rejects your request based on the content type or language preference.

3. URL rewriting or routing issues

Improper rewrite rules on platforms like Nginx or .htaccess can accidentally trigger a 406 code.

4. Browser extensions or proxy issues

Some browser plugins or proxies modify headers in ways that confuse the server.

What Does HTTP 406 Mean for Users?

If you’re just browsing the web, and you see for the first time the 406 not acceptable error, then this indicates the website is failing to deliver the content it supposes you want.

This does not necessarily mean that something is wrong with your device – it is just that there is something about your request that does not match with what is returning to the server.

Thus, if you are curious about “what does http 406 mean?” or “what is 406 not acceptable?”, it is just important to understand it is a server-side problem and yes this problem can at times be rectified by the user.

HTTP 406 Not Acceptable – How to Fix It (Quickly)

Fix #1: Check Your Accept Headers

Assuming you are making a request with cURL, Postman or code, make sure to check your Accept header. Don t ask it something the server is not able to provide it with.

http
Accept: application/json
Try changing it to:
http
Accept: */*

This tells the server: “I’ll take anything you’ve got!”

Fix #2: Disable or Adjust Mod_Security (Apache)

If you’re using Apache, mod_security might be your culprit.

Steps:
  • Locate your .htaccess file or server config.
  • Temporarily disable mod_security (test only!).
code
SecFilterEngine Off
SecFilterScanPOST Off

Don’t forget to turn it back on after testing.

Fix #3: Check Your Firewall or CDN

Are you using Cloudflare, Sucuri, or a similar service?

  • Go into your settings.
  • Look at the security rules and logs.
  • Whitelist your IP or lower the threat detection level.

Fix #4: Fix URL Rewrite Rules

Check your rewrite rules in case you use .htaccess or NGINX config files. One or more of your URLs may be rewritten improperly, and hence the 406 HTTP code status.

Fix #5: Test With Another Browser or Device

Sometimes the issue is just browser-specific. Try using another browser or even incognito mode. If it works there, it might be an extension or plugin causing problems.

What Developers Should Do (Bonus Tips)

  • Log It: Add logs on your server to catch what Accept headers are being sent.
  • Return Defaults: If you can’t match Accept headers, consider returning a default content type like text/html.
  • Use Tools: Tools like Postman, Fiddler, or browser dev tools can help trace what’s happening.

Difference Between 406 and Other HTTP Errors

CodeMeaningWhy It Happens
400Bad RequestSyntax issue in request
403ForbiddenNot allowed to access
404Not FoundURL doesn’t exist
406Not AcceptableServer can’t deliver acceptable format
500Internal Server ErrorProblem on the server itself

So yeah—406 not acceptable error is specific to content negotiation.

Real-Life Example of the 406 Error

Imagine you have a REST API that is solely delivering application/JSON, and a client is requesting by using text/html. The server will fail to respond with an http 406 error unless the server is set to default to JSON or not graciously accept text/html.

Fix: Add fallback handler or persuade your server to give a JSON response back at all times.

406 Meaning Code in REST APIs and Web Apps

In the world of modern APIs, especially RESTful ones, understanding the 406 meaning code is crucial. It can be used to guarantee ease of content negotiation between the clients and servers.

Use the http status code 406 to tell clients that they’re asking for something the server can’t give—not that the resource is missing or broken, but it’s just not acceptable in the current format.

Summary – What to Remember About the 406 Not Acceptable Error

FeatureDescription
Code406
TypeClient-side request issue
NicknameNot Acceptable
Main CauseUnmatched Accept headers
Common FixesAdjust headers, update server rules, disable extensions

Final Thoughts – You Can Fix It!

The not acceptable error 406 can appear to be very frightening until you understand what does 406 not acceptable mean, then matters are a lot easier. The easiest solution will depend on whether you are an average user, or a backend developer: the first time is to identify where and when the mismatch occurs, and then to modify the browser of your choice or some of the headers, or your server setup.

In case you see the 406 not acceptable messages again, then just relax! Now you are armed with the knowledge (and the tools) of how to crush that 406 http code like a pro.

Having trouble with correcting the errors in the websites, or creating an easy-going site with proper scaffolding?

Get in contact with Webdesign Discovery today!

Pro Tip:

Keep browser tools like DevTools or Postman handy to inspect headers. For developers, always log client requests and test for edge cases in content negotiation.

Share this guide with a developer or website owner who needs a fast fix!