[対処法] 406 Not Acceptable

2013 年 10 月 25 日 金曜日

406 Not Acceptable

原因

クライアント(主にWebブラウザ)はWebサーバにリクエストを送信する際、受理可能なAcceptヘッダをあわせて通知することができる。Webサーバからクライアントへのレスポンスに、クライアントが受理できないデータが含まれている場合に発生する。

Acceptリクエストヘッダには以下の種類がある。

Accept
クライアントが受理可能なMIMEタイプをサーバに通知する。例えばAccept:application/pdfがリクエストヘッダに含まれており、PDFファイルのみ受理可能であるにも関わらず、リクエストURIへの応答がHTMLファイルになることをサーバが検出した場合、406 Not Acceptableエラーとなる。
Accept-Charset
クライアントが受理可能な文字セットをサーバに通知する。
Accept-Encoding
クライアントが受理可能なエンコード方式をサーバに通知する。
Accept-Language
クライアントが受理可能な言語をサーバに通知する。

対処法

現在存在するほとんどのWebブラウザはサーバからのどんなレスポンスも受理することになっているので、WebブラウザでHTTPリクエストした際に406エラーが発生した場合は、(ブラウザのHTTPリクエストヘッダを書き換えていない限り)サーバ側に何らかの問題があると考えられる。

クライアントがWebブラウザでない場合、Acceptリクエストヘッダを確認できるのであれば確認、修正する。HTTPヘッダー確認サイトでHTTPレスポンスを確認することにより、クライアントが受理可能な条件をクリアしているか確認することができる。

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2012/04/314038.html/trackback