HTTPステータスコード検索【無料・登録不要】404・500などの意味と原因・対処法を日本語で確認
HTTP ステータスコードを、番号(404 など)・英語名(Not Found など)・日本語(見つからない など)で検索できる無料ツールです。各コードの意味を、HTTP の仕様(RFC 9110 など)をもとに日本語で解説しています。
200・301・302・400・401・403・404・500・502・503 のようなよく出会うコードは目立たせて表示し、よくある原因と対処法も載せています。検索はお使いのブラウザの中だけで行われ、入力した言葉がサーバーに送信されることはありません。
よく出会うコード
検索はお使いのブラウザ内だけで行われます。入力した言葉をサーバーへ送信したり、保存したりすることはありません。
使い方
番号や言葉で検索する
- 検索欄に、番号や言葉を入力します。入力するたびに、一覧が絞り込まれます。
- 表示されたコードの意味を確認します。よく出会うコードは「よくある原因と対処法」を押すと、原因と対処のヒントが開きます。
- 「定義」のリンクから、そのコードを定めている RFC(仕様書)の該当箇所を開けます。
検索できる言葉の例は、次のとおりです。
| 入力の例 | 表示されるもの |
|---|---|
| 404、404、404エラー、HTTP 404 | 404 Not Found |
| 40 | 400〜409(番号の先頭が一致するコード) |
| 5xx | 5xx(サーバーエラー)のコードすべて |
| Not Found、notfound、not found | 404 Not Found(大文字・小文字や空白の有無は区別しません) |
| 見つからない、みつからない、ページが見つからない | 404 Not Found |
| リダイレクト、りだいれくと | 301・302・307・308 など(ひらがなとカタカナは区別しません) |
| Unprocessable Entity、Payload Too Large | 422・413(以前の名前でも探せます) |
分類で絞り込む・よく出会うコードだけ見る
「分類」で 1xx〜5xx のどれかを選ぶと、その分類のコードだけを表示します。「よく出会うコードだけ表示」にチェックを入れると、200・301・302・400・401・403・404・500・502・503 の 10 個だけになります。上にある「よく出会うコード」のボタンを押すと、そのコードをすぐに表示できます。
登録されていない番号を入力したとき
499 や 520 のように、IANA(インターネットの番号を管理する組織)の登録簿にない番号を入力すると、その旨と、仕様での扱いを表示します。RFC 9110 では、知らないコードを受け取ったクライアントは、先頭の数字が同じ x00 のコードと同じように扱うことになっています(たとえば 499 なら 400 Bad Request として扱う)。特定の製品やサービスが独自の意味で使っている番号の場合は、その製品やサービスの説明を確認してください。
HTTPステータスコードとは?
HTTP ステータスコードは、ブラウザーなどが Web サーバーにリクエストを送ったとき、サーバーが返す「結果を表す 3 桁の数字」です。ページが正常に表示されたときは 200、ページが見つからないときは 404 のように、リクエストがどうなったかを数字で伝えます。
HTTP の意味を定めた仕様(RFC 9110)では、有効なステータスコードは 100〜599 で、先頭の 1 桁で 5 つの分類に分かれます。残りの 2 桁に分類の役割はありません。
| 分類 | 意味 | 代表的なコード |
|---|---|---|
| 1xx(情報) | リクエストを受け取り、処理を続けている(途中経過) | 100 Continue |
| 2xx(成功) | リクエストを正常に受け取り、理解し、受け付けた | 200 OK |
| 3xx(リダイレクト) | 完了するには、別の URL への移動などの追加の操作が必要 | 301・302・304 |
| 4xx(クライアントエラー) | リクエストに誤りがある、または実行できない | 400・401・403・404 |
| 5xx(サーバーエラー) | 正しく見えるリクエストを、サーバーが処理できなかった | 500・502・503 |
「404 Not Found」の「Not Found」の部分は理由フレーズと呼ばれます。RFC 9110 では、理由フレーズはあくまで推奨で、別の言葉に置き換えたり省略したりしてもよいとされています。プログラムで結果を判定するときは、理由フレーズではなく数字を使いましょう。
ステータスコードの一覧は、IANA の「HTTP Status Code Registry」(登録簿)で管理されています。このツールは、この登録簿に載っているコードを収録しています。
ステータスコードを確かめる方法
ブラウザーでは、F12 キーで開発者ツールを開き、「Network(ネットワーク)」タブを選んでからページを再読み込みすると、通信ごとのステータスコードを確認できます。
コマンドで確かめるときは、curl を使います。-I を付けると、応答のヘッダーだけを表示します。
curl -I https://example.com/
1 行目に「HTTP/1.1 200 OK」のように、ステータスコードが表示されます。数字だけを表示したいときは、次のように書きます。
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/
Windows の PowerShell では、curl と入力すると別のコマンド(Invoke-WebRequest)が動く場合があるため、curl.exe と書きます。
curl.exe -I https://example.com/
よく見るエラーの原因と対処法
よく出会うエラーの意味と、一般的な原因・対処法をまとめます。実際の原因はサーバーやサービスによって異なるため、運営者・開発者の方は、まずサーバーのログや、応答の本文に書かれたエラーの説明を確認してください。
400 Bad Request(不正なリクエスト)
リクエストの構文の誤りなど、送った側の誤りと判断されたときに返されます。URL の誤りや、API に送ったデータ(JSON など)の形式の誤りが主な原因です。閲覧者の方は URL を確認して再読み込みし、直らなければそのサイトの Cookie を削除してから試してください。開発者の方は、送るデータの形式を API の仕様と照らし合わせます。
401 Unauthorized と 403 Forbidden の違い
401 は「有効な認証情報がない(誰なのか確認できない)」という意味です。ログインしていない、ログインの期限が切れた、API のトークンを付け忘れた、といったときに返されます。ログインし直すか、トークンを確認します。
403 は「リクエストは理解したが、実行を拒否した」という意味です。誰なのかはわかっていても権限が足りない場合や、ファイルのアクセス権(パーミッション)、IP アドレスによるアクセス制限、WAF(Web アプリケーションファイアウォール)などのセキュリティ機能による遮断が原因になります。運営者の方は、ファイルのアクセス権やアクセス制限の設定、セキュリティ機能のログを確認してください。
404 Not Found(見つからない)
リクエストされた URL に対応するページやデータが見つからないときに返されます。URL の入力間違い、ページの削除や URL の変更、古いリンクが主な原因です。運営者の方は、URL を変えたときに 301 で新しい URL へ転送し、サイト内のリンク切れを直しましょう。なお、サーバーは存在を隠したいページに対して、403 の代わりに 404 を返すことも認められています。
500 Internal Server Error(サーバー内部エラー)
サーバーで予期しない問題が起きたときの、汎用的なエラーです。サーバー側のプログラムの不具合や、設定ファイルの書き間違いが主な原因です。閲覧者の方は時間をおいて再読み込みしてください。運営者の方は、まずサーバーのエラーログを確認し、直前に行った更新や設定の変更があれば元に戻して確かめます。
502 Bad Gateway と 504 Gateway Timeout
どちらも、中継役(ゲートウェイやプロキシ)のサーバーが、その先のサーバーとのやり取りに失敗したときのエラーです。502 は先のサーバーから不正な応答を受け取ったとき、504 は時間内に応答が来なかったときに返されます。運営者の方は、先にあるアプリケーションサーバーなどが動いているか、時間のかかる処理がないかを確認します。
503 Service Unavailable(サービス利用不可)
一時的な過負荷やメンテナンスのため、今はリクエストを処理できないときに返されます。時間がたてば回復する見込みのある状態なので、閲覧者の方は時間をおいてからアクセスしてください。サーバーは、Retry-After ヘッダーで待つ時間を知らせることがあります。
301 と 302(リダイレクト)の使い分け
301 と 302 はエラーではなく、別の URL へ移動させるためのコードです。301 は恒久的な移動(今後は新しい URL を使う)、302 は一時的な移動(今後も元の URL を使う)を表します。どちらも、歴史的な理由で POST のリクエストが GET に変わって送り直されることがあるため、メソッドを変えずに移動させたいときは 308(恒久的)や 307(一時的)を使います。
よくある質問
418 I’m a teapot とは何ですか?
1998 年 4 月 1 日に公開されたジョークの RFC(RFC 2324。コーヒーポットを操作するための HTCPCP というプロトコル)に書かれた「418 I’m a teapot(私はティーポットです)」が由来です。ジョークとして実際に使われることが多かったため、現在の仕様(RFC 9110)では、ほかの用途に割り当てられないよう 418 を予約扱いにしています。登録簿上の名前は「(Unused)」(未使用)です。
このツールに載っていない番号を見かけました
このツールは、IANA の登録簿に登録されているコードだけを収録しています。登録されていない番号は、特定の製品やサービスが独自に使っているものの可能性があるため、その製品やサービスの説明を確認してください。仕様上は、先頭の数字が同じ x00 のコード(4 で始まるなら 400)と同じように扱われます。
「よくある原因」は必ず当てはまりますか?
いいえ。「よくある原因」と「対処のヒント」は一般的な例です。同じコードでも、サーバーやサービスによって原因は異なります。正確な原因は、サーバーのログや、応答の本文に書かれたエラーの説明で確認してください。
入力した言葉は保存されませんか?
保存されません。検索はすべてお使いのブラウザの中で行われ、入力した言葉をサーバーへ送信することも、保存することもありません。ページを閉じると入力内容は消えます。
関連する記事・ツール
- URLエンコード・デコードツール【無料・登録不要】日本語URLの変換・クエリ分解に対応
- JSON整形ツール【無料・登録不要】インデント・圧縮・構文チェック|エラー箇所を日本語で表示
- JWTデコーダー【無料・登録不要】ヘッダー・ペイロードを表示|有効期限を日本時間で確認
- chmod 計算ツール(Linux のパーミッション)
- Gitコマンド検索【無料・登録不要】やりたいことから探せるGitコマンド辞典|取り消し・ブランチ・push