HTTPステータスコード一覧表!各エラーコードの内容と対処法を詳しく解説!
ブログやWebサイトを運営していると、時折「404 Not Found」といった数字の羅列が表示され、何かしらのエラーが発生したことを知ってパニックになることがあるのではないでしょうか。 この数字列はHTTPステータスコ…
HTTPの504エラーは、リバースプロキシやCDN、ロードバランサーなどのゲートウェイが、上流サーバーからの応答を規定時間内に受け取れなかったときに返されます。瞬間的な負荷や外部API遅延、ネットワーク経路の問題で発生しやすい点が特徴です。
まずは再現条件と発生レイヤーを切り分けます。特定パスや時間帯で集中する場合はバックエンド処理の遅延が疑われます。長時間クエリや外部連携が絡むとタイムアウトに達しやすく、ログの相関IDでトレースできるよう準備しておくと分析が速くなります。
「504 Gateway Timeout」は、ゲートウェイ/プロキシがリクエストを受け取り、上流に転送したものの、期限までに応答が戻らなかった状態を示します。上流にはオリジンサーバーやマイクロサービス、外部APIが含まれます。すなわち、ゲートウェイは上流サーバーの遅延を検知して504を返す立場にあります。
「誰が何を待っているのか」「どの層で止まっているのか」を明確にすることが起点です。ユーザー側の回避余地は限定的ですが、管理者側はタイムアウト値の整合や処理時間の短縮、リトライ戦略の設計で改善できます。
| コード | 意味 | 使い分けの目安 |
|---|---|---|
| 502 Bad Gateway | 上流の不正応答・接続失敗 | 応答は返ったが不正/ハンドシェイク失敗。ネットワークやプロトコル不整合時。 |
| 503 Service Unavailable | 一時的な過負荷・保守 | 計画メンテや過負荷時に利用。Retry-Afterを併用して復旧見込みを通知。 |
| 504 Gateway Timeout | 上流からの応答遅延 | ゲートウェイが規定時間内に応答を受け取れず失敗。再試行や経路見直しを検討。 |
| 408 Request Timeout | クライアント送信の遅延 | クライアントがリクエスト送信に時間超過。サーバ側の上流待ちとは別問題。 |
| 524 A Timeout Occurred | CDN固有のタイムアウト | Cloudflare等が返すベンダー固有コード。意味は504に近く、CDNと上流間で発生。 |
5xxが続くとクロール頻度が落ち、該当地域ではインデックス維持も難しくなります。計画停止は503とRetry-Afterで通知し、504の頻発は不安定なサイト信号となるため、原因の恒久対策と監視の強化が重要です。
検索エンジンからのアクセスにも同じ方針で応答し、CDN・WAF・アプリの設定を同期します。遅延発生時はステータスページで状況を共有し、SLO違反を検知できるアラート閾値を適切に保ちます。
504と502の違いは何ですか?
504は上流から応答が戻らず時間切れになった状態です。502は応答が来たものの不正だったり接続が確立できなかった状態で、発生原因と対処が異なります。
504は一時的な障害でしょうか?
多くはスパイクや外部API遅延など一時的要因で再試行により解消します。ただし頻発する場合はDBロックやスレッド枯渇など恒常的な瓶頸が疑われ、恒久対策が必要です。
設定で回避するには何を見直せばよいですか?
ゲートウェイ・アプリ・上流のタイムアウト値を整合させ、コネクションプールやKeep-Alive、キャッシュ、バックオフ付き再試行を適用します。長時間処理は非同期化やキュー化が有効です。
408 Request Timeoutとの違いは?
408はクライアントがリクエスト送信に時間をかけ過ぎた場合の応答です。504はサーバ側のゲートウェイが上流サーバーの応答を待ち切れなかった状態で、発生レイヤーが異なります。
504は「ゲートウェイが上流応答を待ち切れない」ことを示します。ユーザーは回線変更と再試行、管理者は遅延の可視化とタイムアウト整合、キャッシュや再試行戦略の導入で再発を抑止します。近縁コードとの違いを理解し、計画停止時は503で適切に通知します。







