Forum Moderators: phranque
To put it in a metaphor, imagine that you're asking me for lunch, and in your request you tell me you have an allergy to peanuts. And I have food, but it all contains nuts. Instead of giving you the food (which would kill you), I will give you an empty response with a status of "Unacceptable"
OR imagine that I've asked you for a book to read, but I can only read books in English and French. If you only have books in German, you would give me an empty response with a "406 - Not Acceptable" status.
406 is the server telling you "I have what you asked for, but you won't accept them".
That's what Accept headers in the HTTP request are for. For instance, if the HTTP request includes directions that it will only accept "img/jpg" mime type, the server would send a 406 status if the file requested is an Excel spreadsheet.
To diagnose:
- request one of these pages and analyze the HTTP request headers
- Pay attention to the MIME type of the responses, the Character Set, GZIP encoding
"406 Not Acceptable" is an unusual status code - the most common are 200, 404, 500, 301. You only see a 406 when something is wrong with the server, usually something silly but hard to diagnose.
[edited by: jdMorgan at 1:42 pm (utc) on Oct. 3, 2008]