HTTPステータス辞典

サーバーが返す3桁のステータスコードを、意味・よくある原因・対処の目安つきで引けます。番号でも日本語でも検索できます。

まぎらわしいコードの違い

301 / 302 / 307 / 308(リダイレクト)

コード移転POSTなどのメソッド
301恒久GETに変わることがある
302一時GETに変わることがある
307一時そのまま保つ
308恒久そのまま保つ

サイト移転やhttps化のように二度と戻らないなら301/308、メンテ中の一時退避などは302/307。フォーム送信(POST)を転送するときはメソッドを保つ307/308が安全です。

401 と 403(拒否)

コード状況直し方
401誰なのか分からない(未ログイン・トークン切れ)認証情報を付けて送り直す
403誰かは分かったが権限がない送り直しても同じ。権限や設定を見直す

401は WWW-Authenticate ヘッダーで認証方法を伝えます。存在を隠したいときは403の代わりに404を返すこともあります。

502 / 503 / 504(サーバー側)

コードどこで何が起きたか
502中継(プロキシ・CDN)が裏のサーバーからおかしな応答を受けた
503サーバー自身が今は受け付けられない(過負荷・メンテ)
504中継が裏のサーバーの応答を待ちきれなかった

502/504は中継と裏側の間、503は応答したサーバー自身の問題、と切り分けると原因を探しやすくなります。

出典:RFC 9110(HTTP Semantics)を中心に、103(RFC 8297)、207・423・507(RFC 4918 WebDAV)、425(RFC 8470)、428・429・431・511(RFC 6585)、451(RFC 7725)を収録。418 は RFC 2324 のジョーク仕様に由来し、RFC 9110 では「使わない(予約)」とされています。

よくある原因と対処は一般的な目安です。実際の意味はサーバーやサービスごとの実装・API仕様で異なることがあるので、正確な扱いは各RFCや利用しているサービスの公式ドキュメントで確認してください。

HTTPステータス辞典でできること

Webサイトの表示やAPIの通信で返ってくる404・503などのHTTPステータスコードを、意味・よくある原因・対処の目安つきで調べられる辞典です。番号でも日本語の語でも検索でき、まぎらわしいコードの違いも比較できます。

使い方

  1. 「番号・名前・キーワードで検索」に番号(例:404)、英語名(Not Found)、日本語の語(リダイレクト、認証など)を入れます。数字は先頭一致で、「50」と入れると500番台の候補に絞れます。
  2. 「すべて」「1xx」〜「5xx」のボタンでクラスごとに絞り込みます。
  3. 一覧のコードを押すと、右側(スマホでは上)に意味・よくある原因・対処の目安・出典のRFCが表示されます。
  4. 詳細の「『404 Not Found』をコピー」や「名前だけコピー」でコード名をコピーできます。
  5. 下の「まぎらわしいコードの違い」で、301/302/307/308、401と403、502/503/504の違いを確認します。

計算の仕組みと注意点

よくある質問

401と403の違いは何ですか?

401は誰なのか分からない(未ログインやトークン切れ)状態で、認証情報を付けて送り直せば通る可能性があります。403は誰かは分かったうえで権限がない状態で、送り直しても結果は変わりません。ページ下の比較表で確かめられます。

301と308はどう使い分けますか?

どちらも恒久的な移転ですが、301はPOSTがGETに変わることがあり、308はメソッドと本文をそのまま保ちます。通常のページ移転は301、POSTを受けるAPIの移転は308が向いています。

502・503・504はどこに原因がありますか?

502は中継サーバーが裏のサーバーからおかしな応答を受けたとき、504は裏のサーバーの応答を待ちきれなかったとき、503はサーバー自身が過負荷やメンテナンスで受け付けられないときに返ります。検索欄に「50」と入れると5xxの一覧と詳細を見比べられます。

429 Too Many Requestsが出たらどうすればいいですか?

一定時間内のリクエストが多すぎるというレート制限です。応答にRetry-Afterヘッダーがあればその秒数待ち、間隔を空けて再試行してください。429を開くと原因と対処の目安が表示されます。