501

状態符号 501 (HTTP)

[406] HTTP状態符号 501 は、要求で指定された機能が側で実装されていないことを表します。

仕様書

意味

[537] 501 は、要求を処理するために必須の機能に対応していないことを示します >>536

文脈

[502] 例えば、要求で指定されたメソッドが実装されていないときに使います。

[507] 実装しているどのメソッドよりも長いメソッドを受信したは、 501 を返すべきです >>508

[532] 起源鯖は、要求メソッドを認識できないか、実装していない時は、 501 応答を返すべきです >>534

[533] 起源鯖は、要求メソッドを知っているものの、対象資源に対して認めていない時は、 405 応答を返すべきです >>534
[539] 実際のところ 405501 を分ける意味があるのかは謎ですが...
[1] 以前は PUT 要求で未知の Content-*: ヘッダーが用いられている場合にも 501 応答が使われていましたが、 RFC 7231 でその規定は削除されています。
[4] Expect: で指定された機能については 417 が、 Accept: などで指定された内容折衝系の機能については 406 が別途用意されています。

[3] OData では、クライアントが要求した機能を実装していない時に 501 応答を返す >>2 とされています。 要求メソッド以外の機能にも適用されるようです。

[8] CEA-2014-B

構文

[542] 実装しているメソッドの一覧が応答Allow: ヘッダーにより明示されることがあります。しかし仕様上は要求されてはいないようです。

処理

[538] 501 応答キャッシュ可能です >>536

実装

[540] Apache は未知の要求メソッドを指定すると 501 を返します。 Allow: ヘッダーもあります。

[541] nginx は未知の要求メソッドを指定すると 405 を返します。 Allow: ヘッダーはありません。要求メソッドの名前に小文字が含まれると要求行を受け取った時点で 400 を返します。

関連

[503] 不適当なメソッドの時に返され得るメソッドには、他に 405 があります。 HTTP 仕様上は、メソッドを知っているものの当該資源に対する動作が未定義の時は 405 を、そもそも存在さえ知らず扱い方がわからないメソッドの時は 501 を返す、とされています。

[506] CGIRFCメソッド未対応の場合にこれら2つの状態符号が使えることを述べています >>505 が、その両者の違いは説明していません。

[504] 現実には、HTTP鯖CGIスクリプトなどの鯖側の実装が、未知のメソッドの指定は無視して GET など既知のメソッドであるものとみなして処理することもあります。

[7] ストライクウィッチーズとは無関係です。

歴史

[509] RFC 1945 (HTTP/1.0); RFC 2068・RFC 2616 (HTTP/1.1) 10.5.2 501 Not Implemented

The server does not support the functionality required to fulfill the request. This is the appropriate response when the server does not recognize the request method and is not capable of supporting it for any resource.

サーバーは、要求を満たすのに必要な機能に対応していません。 これは、サーバーが要求 method を認識せず、どの資源もそれに対応する能力がないときに適切な応答です。

[543] RFC 3507 - Internet Content Adaptation Protocol (ICAP) ( ( 版)) http://tools.ietf.org/html/rfc3507#section-4.3.3

[5] RFC 7482 - Registration Data Access Protocol (RDAP) Query Format ( 版) https://tools.ietf.org/html/rfc7482

Servers MUST return an

HTTP 501 (Not Implemented) [RFC7231] response to inform clients of

unsupported query types.

[6] ( 版) http://storage.sakura.ad.jp/pdf/base_storage_api_reference.pdf

リクエストに関係のない HTTP ヘッダをつけた場合、 HTTP 501 Not Impremented エラーを返します

ユーザ定義ヘッダは エラーとなります