505エラー 【HTTP 505 HTTP Version Not Supported】

概要

505エラー(HTTP 505 HTTP Version Not Supported)とは、Webサーバで起きるエラーの種類の一つで、クライアントがリクエストに用いたHTTPのバージョンにサーバが対応できないことを表すもの。

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

ステータスコードの500番台はサーバに起因するエラーを表しており、505番のエラーメッセージは “HTTP Version not supported” (HTTPバージョンが非対応)である。クライアントから送られてきたリクエストのHTTPのバージョンにサーバ側が対応していない場合に返される。

HTTPメッセージのヘッダ部は冒頭にHTTPのバージョンを指定する部分がある。クライアントがHTTP/2によるリクエストを送信したが、サーバはHTTP 1.1までしか対応していなかった、といった場合に505エラーが返される。新しい設計のWebサーバの中にはHTTP 1.0などの古いバージョンは様々な理由からサポートを打ち切る動きもあり、「そのバージョン古すぎて対応できない」場合にもこのエラーが返される。

(2024.8.23更新)

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」として定義されていた。