読み方 : ごーまるいちエラー

501エラー 【HTTP 501 Not Implemented】

概要

501エラー(HTTP 501 Not Implemented)とは、WebサーバがWebブラウザなどのクライアントに通知するエラーメッセージの一つで、クライアントからのリクエストに記載されたメソッドに対応していないことを示すもの。

HTTPステータスコードとは

WebサーバとWebクライアントの間では「HTTP」(Hypertext Transfer Protocol)という通信規約(プロトコル)でデータ伝送を行っている。クライアントからの要求(リクエスト)に対してサーバは応答(レスポンス)を返すが、その際に現在の状態を示す「HTTPステータスコード」を通知する。

ステータスコードは3桁の番号と簡易なメッセージで表される。番号の最上位桁は分類、下2桁は識別番号である。100番台は「情報」(Informational)、200番台は「成功」(Success)、300番台は「転送」(Redirection)、400番台は「クライアントエラー」(Client Error)、500番台は「サーバエラー」(Server Error)を表している。

501 Not Implementedとは

501番はサーバに起因するエラーの一つで、メッセージは “Not Implemented” (実装されていない)である。要求の種類を表すHTTPメソッドのうち、クライアントが指定したものには対応していないことを表す。

HTTPではサーバはGETメソッドHEADメソッドに対応していることが必須とされるが、POSTメソッドPUTメソッドなど他のメソッドには必ずしも対応する必要がない。非対応のメソッドが要求されたときに501エラーでクライアントにその旨を通知する。

なお、501エラーを通知するHTTPレスポンスにはオプションで「Retry-After:」ヘッダを追加することができ、指定時間経過後に再アクセスするようクライアントに要請することができる。当該機能を将来追加する予定がある場合などに用いる。また、サーバの機能として対応はしているが、リクエストされた資源(ファイルなど)に対してその操作が許可されていない場合は「405 Method Not Allowed」エラーを返すことになっている。

(2025.8.20更新)

HTTPステータスコード一覧

*1 302はHTTP/1.0では「Moved Temporarily」だった。
*2 413はHTTP/1.1では「Request Entity Too Long」、RFC 7231では「Payload Too Long」だった。
*3 414はHTTP/1.1では「Request-URI Too Long」だった。
*4 416はHTTP/1.1では「Requested Range Not Satisfiable」だった。
*5 418は1998年エイプリルフールのジョークRFC 2324で「I'm a teapot」として定義されていた。

他の用語辞典による「501エラー」の解説 (外部サイト)