[507] 505
(HTTP Version Not Supported)
は、指定されたプロトコルの版に対応しないことを示す状態符号です。
[508] プロトコルの版には整数部 (メジャーバージョン) と小数部
(マイナーバージョン) があります。 HTTP ではメッセージの処理の可否はメジャーバージョンで判断することになっています。
メジャーバージョンが鯖の実装している版でなければ 505
を返し、実装している版であれば、 505
は返さずにその版で実装している最大のマイナーバージョンで応答します。
[5] 505
は、要求メッセージで使われている HTTP
のプロトコルの版の大版に鯖が対応していないか、
対応を拒むことを示します >>3。
[418] 鯖は、要求のメジャーバージョンで応答を送れない、送りたくない時は、
505
応答を送って構いません。 >>58
[4] RFC 2068・RFC 2616 (HTTP/1.1) 10.5.5 10.5.6 505 HTTP Version Not Supported
The server does not support, or refuses to support, the HTTP protocol version that was used in the request message. The server is indicating that it is unable or unwilling to complete the request using the same major version as the client, as described in section 3.1, other than with this error message. The response SHOULD contain an entity describing why that version is not supported and what other protocols are supported by that server.
サーバーは、要求メッセージで使われた HTTP のプロトコルの版に対応していないか、 又は対応することを拒否します。サーバーは、 この誤りメッセージの他には、 クライアントと同じ大版を使った要求を完了させることができないか、又はその意思がないことを示しています。 応答は、なぜその版に対応していないのか及びそのサーバーで他のどのプロトコルに対応しているのかを説明した実体を含んでいるべきです。
[509] Apache も nginx も、存在しないプロトコルの版を指定しても無視して
HTTP/1.1 として扱うようです。 505
は返しません。
[1] この状態符号は、 RFC1945 では規定されていませんでしたから、 HTTP/1.0 の実装や古い HTTP/1.1 の実装は知らないかもしれません。
[511] 鯖は現在使用されている HTTP/0.9、HTTP/1.0、HTTP/1.1 は少なくても実装する必要はありますから、この状態符号を使う可能性があるのはメジャーバージョンとして 2以上の数値が指定された場合です。
[512] RFC 3507 - Internet Content Adaptation Protocol (ICAP) ( ( 版)) <http://tools.ietf.org/html/rfc3507#section-4.3.3>