505エラー(HTTP Version Not Supported)とは?意味をわかりやすく簡単に解説
公開:
505エラー(HTTP Version Not Supported)とは
505エラーは、クライアントが送信したHTTPリクエストに含まれる、HTTPプロトコルバージョンをサーバーがサポートしていない場合に返されるHTTPステータスコードです。このエラーは主にHTTP/2.0やHTTP/3.0など、サーバーが対応していない新しいプロトコルバージョンでリクエストが送信された際に発生します。
英名では「HTTP Version Not Supported」と呼ばれ、RFC 7231で定義されている5xxシリーズのサーバーエラーに分類されます。「クライアント側が使用しているHTTPバージョン」と「サーバー側が対応しているバージョン」の不一致が原因であり、通常はサーバー側の設定変更やアップデートによって解決できます。
505エラーが発生する具体的な原因
505エラーの主な原因は、クライアントがHTTP/2.0以降のプロトコルを使用してリクエストを送信したにもかかわらず、サーバーがHTTP/1.1までしか対応していない場合などに発生します。例えば、最新のブラウザやAPIクライアントが自動的に新しいプロトコルバージョンを使用する設定になっている場合、古いサーバーとの通信時にこのエラーが返されます。
| 発生原因 | 詳細 |
|---|---|
| プロトコルバージョン不一致 | HTTP/2.0以降の要求に未対応 |
| サーバー設定の不備 | 対応バージョンの制限設定 |
| プロキシサーバーの制約 | 中継サーバーのバージョン制限 |
| レガシーシステム | 古いWebサーバーソフトウェア |
また、リバースプロキシやロードバランサーなど、中継サーバーが古いバージョンのHTTPプロトコルしか対応していない場合も、505エラーの原因となります。企業のファイアウォールやセキュリティ機器が、特定のHTTPバージョンをブロックする設定になっている場合も、同様のエラーが発生する可能性があります。
505エラーの解決方法と対応手順
サーバー管理者側での解決方法として、WebサーバーソフトウェアをHTTP/2.0以降に対応したバージョンにアップグレードする必要があります。Apache HTTP Serverの場合はmod_http2モジュールを有効化し、Nginxの場合はバージョン1.9.5以降にアップデートすることによって、HTTP/2.0のサポートが可能になります。
| 対応方法 | 実施内容 |
|---|---|
| サーバーソフトウェア更新 | 最新版へのアップグレード |
| プロトコル設定の変更 | 対応バージョンの追加設定 |
| クライアント側の調整 | HTTP/1.1への切り替え指定 |
| プロキシ設定の見直し | 中継サーバーの更新または削除 |
クライアント側での対処としては、リクエスト送信時にHTTPバージョンを明示的にHTTP/1.1に指定する方法が有効です。curlコマンドを使用する場合は、curl --http1.1 https://example.comのようにオプションを付与することで、古いプロトコルバージョンでの通信を強制できます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
左へフリックで次のページ、右へフリックで前のページに戻れます左右の矢印ボタン、左右のスワイプで移動できます





