コンテンツにスキップ

📡 HTTP ステータスコード検索

HTTP ステータスコード (1xx〜5xx) をコード番号やキーワードで即座に検索。各コードの意味・よくある原因・対処法を簡潔に解説。

完全無料 登録不要 ブラウザ完結 5 言語対応 ダークモード

📖 つまずきやすいポイント

コード番号でもキーワードでも引ける一覧です。実際にあなたのサイトがどのコードを返しているかは、この一覧では分かりません — それは HTTP ヘッダー検証リダイレクトチェーン診断の仕事です。ここで押さえておきたいのは、ステータスコードは「何が起きたか」の分類であって「誰のせいか」の判定ではないという点です。4xx と 5xx の切り分けはあくまで出発点で、実際には 5xx をログに出さずに 200 で返しているアプリも珍しくありません。

ケース 何が起きるか どうする
404 を返しているつもりが 200 だった 「ページが見つかりません」という見た目のエラーページを 200 で返している状態です。Google はこれをソフト 404 として扱い、Search Console に警告を出します。SPA でルーティングをクライアント側だけで解決している構成、CMS が「該当なし」ページをテンプレートで出す構成で頻発します。 ステータス行と本文の内容を必ず一致させます。存在しない URL には 404、恒久的に削除したなら 410、メンテナンス中なら Retry-After 付きの 503 を返してください。SPA でも、サーバー側でルートの存在を判定して 404 のステータス行だけは正しく返せます。確認は curl -IHTTP ヘッダー検証で。ブラウザの表示だけを見ても分かりません。
401 と 403 を取り違える 401 は「あなたが誰か分からない」、403 は「誰か分かったうえで許可しない」です。名前が Unauthorized と Forbidden で直感と逆に見えますが、401 が認証 (authentication)、403 が認可 (authorization) を指しています。ログイン済みのユーザーが他人のリソースを触ろうとした場合は 403 が正しく、401 を返すとクライアントは再ログインを促す挙動を取ってしまいます。 401 を返すときは WWW-Authenticate ヘッダーを必ず添えてください — 仕様上必須で、これが無いと厳密には 401 として不正です。セキュリティ上「そのリソースが存在すること自体を隠したい」場合は、403 ではなく 404 を返すのが定石です (存在の有無を漏らさないため)。管理画面の URL や他人の注文 ID などが該当します。
429 を受けてすぐ再試行する レート制限に当たった直後にそのまま投げ直すと、制限がさらに延び、最終的に IP ごと遮断されます。複数のクライアントが同時にリトライすると、解除された瞬間に一斉にアクセスが集中するサンダリングハード問題も起こします。5xx に対する無条件リトライも同じで、落ちているサーバーに追い打ちをかけます。 Retry-After ヘッダーがあれば必ずそれに従います (秒数か HTTP 日付が入っています)。無い場合は指数バックオフにジッター (乱数のずれ) を足します — 1s → 2s → 4s → 8s に、それぞれ ±50% のランダムを掛ける形です。ジッターを入れないと、同時に失敗したクライアントが同時に再試行し続けます。リトライしてよいのは 408 / 429 / 500 / 502 / 503 / 504 で、400 や 422 のような入力の誤りは何度投げても同じです。

3xx はブラウザに強くキャッシュされます。とくに 301 は「恒久的」と宣言しているため、多くのブラウザが有効期限なしで記憶し、サーバー側で設定を戻してもユーザーの手元では転送され続けます。テスト中に誤って 301 を返してしまった場合、影響を受けたユーザーはキャッシュを消すまで戻れません。設定が固まるまでは 302307 を使い、確信が持ててから 301 / 308 に切り替えてください。これはリダイレクト設定で最も取り返しがつかない失敗のひとつです。

📖 使い方

  1. 1
    コード番号かキーワードで検索
    404 のような番号でも、redirect や forbidden のような英単語でも引けます
  2. 2
    意味と代表的な原因を読む
    4xx はリクエスト側、5xx はサーバー側に原因があるという切り分けがまず効きます
  3. 3
    対処を実際のヘッダーと突き合わせる
    Location / Retry-After / ETag などは HTTP ヘッダー検証で実際の値を確認できます

❓ よくある質問

404 と 410 はどう使い分ける?
410 は「かつて存在したが恒久的に削除した」という宣言です。Google は 410 を受け取るとインデックスからの削除が 404 より早くなります。復活させる予定があるなら 404 のままにしてください。
502 と 504 の違いは?
どちらもプロキシから見た上流の異常ですが、502 は「応答は返ってきたが壊れていた・接続できなかった」、504 は「時間内に何も返ってこなかった」です。502 なら上流プロセスの死活、504 ならタイムアウト値と遅いクエリを先に見てください。
301 の代わりに 308 を使うべき場面は?
POST を受けるエンドポイントを移すときです。301 と 302 はリダイレクト時にブラウザが POST を GET に変えることが許容されているため、本文が消えたリクエストが届きます。メソッドを保つ 308 (恒久) と 307 (一時) を使ってください。
🐛 このツールで問題が発生しましたか?

完全無料・登録不要。再現手順だけでも結構です。届いたご報告は運営者に直接届き、修正の参考にします。

※ 不具合再現のため、ブラウザ情報 (UA / 画面サイズ / 言語 / URL) を自動で送信します