4.06

状態符号 406 (HTTP)

[445] 406 (Not Acceptable) は、内容折衝のために指定された条件を満たす応答を返せないことを表します。

[446] 一般的には内容折衝の条件を満たすものがなくても、 いずれか近いものか、既定のものを 200 などで返した方が便利と思われます。 この状態符号は通常使用するべきではありません。

[447] 例えば日本語しかないサイトに Accept-Language: en でアクセスした時、 406 を返すより、日本語のページを返すべきです。 日本語しかないというエラーメッセージはほとんど意味がありません。

仕様書

意味

[442] 406 は、対象資源において proactive negotiationヘッダーによると利用者エージェントが受け付けられる表現を持っておらず、 は既定の表現を返すつもりがないことを表します >>441

構文

[443] は、利用可能な表現の性質と対応する識別子の一覧を含んだ payload生成して、利用者利用者エージェントが最適なものを選べるようにするべきです >>441

[3] Accept-Additions: ヘッダーに関するエラーの時は、 珈琲への添加物として利用可能なもののリストを含めるべきです >>1

[4] その具体的な構文は規定されていません。

文脈

[436] 起源鯖は、 Accept: ヘッダーに利用できる表現MIME型がない場合は、 406 を送信することもできますし、 内容折衝の対象でない場合のように無視して処理しても構いません >>416

[421] 起源鯖は、 Accept-Charset: に利用可能な表現charset がなければ、 406 を返すこともできますし、 無視して内容折衝の対象でないものとして処理することもできます >>411

[42] 起源鯖は、利用可能な表現のいずれの言語も指定された言語範囲一致しない場合には、 Accept-Language: ヘッダーを無視して内容折衝の対象でないものとして扱うこともできますし、 406 応答を送ることもできます >>35。 ただし 406 応答を送ってしまうと、 (翻訳ソフトウェアを使うなど) 利用者が何らかの形で使うことができるかもしれない内容にアクセスできなくなってしまいますから、 推奨 (encourage) しません >>35

[437] Accept-Encoding: については 406 を返すことは起源鯖の動作の候補として明記されていません。

[2] 珈琲ポットへの要求で指定された Accept-Additions: ヘッダーの要請に応えられない場合には、 406 応答を返すことができます >>1

[6] は、 A-IM:実現値操作が指定され、 それを使って返せない時は、 406 応答を返すべきです >>5

処理モデル

[444] 利用者エージェントは、 >>443 のリストから最適なものを自動的に選んで構いません。 >>441

歴史

[440] RFC 2068 & 2616 (HTTP/1.1) 10.4.7 406 Not Acceptable

The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request.

要求で識別される資源は、要求で送られた受入れ頭群に従うと受入れ可能でない内容特徴を持った応答実体を生成する能力しかありません。

Unless it was a HEAD request, the response SHOULD include an entity containing a list of available entity characteristics and location(s) from which the user or user agent can choose the one most appropriate. The entity format is specified by the media type given in the Content-Type header field. Depending upon the format and the capabilities of the user agent, selection of the most appropriate choice may MAY be performed automatically. However, this specification does not define any standard for such automatic selection.

HEAD 要求である場合を除き、応答は、 利用可能な実体特徴と位置の一覧を含めて、 利用者又は利用者エージェントが最も適当なものを選ぶことができるようにするべきです。 実体の書式は Content-Type 頭欄に示された媒体型により規定されます。 その書式と利用者エージェントの能力によっては、 最も適切な選択肢の選択は自動的に行っても構いません。 しかし、この仕様書はその自動的選択の規格は定義しません。

Note: HTTP/1.1 servers are allowed to return responses which are not acceptable according to the accept headers sent in the request. In some cases, this may even be preferable to sending a 406 response. User agents are encouraged to inspect the headers of an incoming response to determine if it is acceptable. If the response could be unacceptable, a user agent SHOULD temporarily stop receipt of more data and query the user for a decision on further actions.

注意 : HTTP/1.1 サーバーは、要求で送られた受入れ頭群に従うと受け入れ可能でない応答を返すことが認められています。 場合によっては、 406 応答を送るよりこの方が好ましいかもしれません。 利用者エージェントは、やってくる応答が受入れ可能であるか、その頭を調べることをお勧めします。 応答が受入れ不能であったなら、利用者エージェントはそれ以上のデータの受入れを一時的に停止し、 利用者に以後の動作の決定を求めるべきです

[439] RFC 2324 (HTCPCP/1.0) 2.3.1 406 Not Acceptable

This return code is normally interpreted as "The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request. In HTCPCP, this response code MAY be returned if the operator of the coffee pot cannot comply with the Accept-Addition request. Unless the request was a HEAD request, the response SHOULD include an entity containing a list of available coffee additions.

In practice, most automated coffee pots cannot currently provide additions.

この返し符号は、通常 「その要求により識別される資源は、 その要求中で送られた受入れ (accept) に従って受入れ可能でない内容性質を持つ応答実体を生成する能力しかない。」と解釈されます。 HTCPCP では、珈琲ポットの操作者が Accept-Addition 要求を満たすことが出来ない時にこの応答符号を返しても構いません。 要求が HEAD 要求である場合を除いて、応答は受入れ可能な珈琲添加物の一覧を含んだ実体を含めるべきです

実際には、ほとんどの自動化珈琲ポットは現在の所添加物を提供できません。

実装

[448] Apache内容折衝クライアントが指定した条件を満たせない時、 406 を返します。

関連

[449] 415 と似ているように見えますが、 415要求メッセージで使われているMIME型が対応していないことを示すのに対し、 406応答メッセージで使われるべきMIME型が対応していないことを示します。