[対処法] 501 Not Implemented

2013 年 10 月 13 日 日曜日

501 Not Implemented

501 Method Not Implemented

原因

HTTPエラーコードの1つ。クライアント(ウェブブラウザなど)から送信されたHTTPリクエストのメソッド(GET、POST、PUT、DELETEなど)をサーバが実装していない場合に発生する。ほとんどのサーバはGETまたはPOSTメソッドをサポートしているが、それ以外のメソッドはサポートしていない場合が多い。

以下はHTTPプロトコルにより定義されているメソッドの一覧。

GET
もっとも利用されることが多いメソッド。URIで指定したリソースを返す。HTTP1.1ではGETメソッドのサポートが必須となっているため、このメソッドでのリクエストで501エラーが発生することは考えられない。
POST
データ(名前と値のセット)をクライアントからURIとして指定されたリソースに転送するためのメソッド。
PUT
クライアントからURIに送信されたデータを送信先のリソースと置き換える。データの更新など。
DELETE
クライアントからURIとして指定したリソースを削除する。
CONNECT
プロキシを通してHTTPS通信を行う(SSLトンネリング等)場合に使用するメソッド。
HEAD
ヘッダ情報のみを取得するメソッド。HTTP GETのようにすべての情報を得るわけではなく、リソースの存在チェック、更新確認等を目的とする。
TRACE
HTTPの動作をトレースする際に用いるメソッド。クライアントが送信したリクエストがそのままクライアントに返信される。
PATCH
PUTと似た動作をするが、差分のみを置き換える。
OPTIONS
どの通信オプションが利用可能か検証するためのメソッド。

上記のメソッドに当てはまらないメソッドでリクエストが送信された場合は当然501 Not Implementedエラーが発生する。

また、このエラーはウェブブラウザからのリクエストで発生することは非常に稀であり、クライアントがウェブブラウザではないか、もしくは何年もバージョンアップされていない場合に発生する。

HTTP1.0のみサポートしているサーバでHTTP1.1で新たに実装されたメソッド(OPTIONS、TRACE、PATCHなど)でリクエストした場合に発生するが、現在はこのケースで発生することは非常に稀である。

対処法

古いウェブブラウザを利用している場合は最新バージョンにアップデートする。

HTTP1.1の拡張であるWebDAVが実装されていないサーバにWebDAVアクセスを試みた時に発生することが多いが、この場合はサーバがWebDAVを実装しなくてはならない。ユーザーとしてはサーバ管理者に実装を要求するほかない。

コメントをどうぞ

トラックバック

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

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