読み方 : ごーまるよんエラー

504エラー 【HTTP 504 Gateway Timeout】

概要

504エラー(HTTP 504 Gateway Timeout)とは、WebサーバがWebブラウザなどのクライアントに通知するエラーメッセージの一つで、目的地のWebサーバから規定の時間内に応答が無かったことを、経路途上にある中継サーバ(プロキシなど)が報告するもの。

HTTPステータスコードとは

WebサーバとWebクライアントの間では「HTTP」(Hypertext Transfer Protocol)という通信規約(プロトコル)でデータ伝送を行っている。クライアントからの要求(リクエスト)に対してサーバは応答(レスポンス)を返すが、その際に現在の状態を示す「HTTPステータスコード」を通知する。

ステータスコードは3桁の番号と簡易なメッセージで表される。番号の最上位桁は分類、下2桁は識別番号である。100番台は「情報」(Informational)、200番台は「成功」(Success)、300番台は「転送」(Redirection)、400番台は「クライアントエラー」(Client Error)、500番台は「サーバエラー」(Server Error)を表している。

504 Gateway Timeoutとは

504番はサーバに起因するエラーの一種で、メッセージは “Gateway Timeout” (ゲートウェイに規定時間内に応答がなかった)である。クライアントと目的のサーバの間にあるプロキシなどの中継機器が返すエラーで、目的のサーバが接続を受け付けず沈黙していることを表す。

クライアントがプロキシなどを介してインターネットに接続している場合や、サーバ側でロードバランサやリバースプロキシコンテンツデリバリネットワーク(CDN)などを介して外部からの接続を受け付ける構成になっている場合に、サーバが停止して応答しないことをサーバに代わって中継機器がクライアントに通知する場合に返される。

なお、同じように中継機器がサーバに代わってエラーを返す場合でも、サーバと通信自体は可能だが、中継機器に対して何らかのエラーを返して正常に応答できない状況である場合には、504エラーではなく502エラー502 Bad Gateway)が用いられる。

(2025.8.20更新)

HTTPステータスコード一覧

*1 302はHTTP/1.0では「Moved Temporarily」だった。
*2 413はHTTP/1.1では「Request Entity Too Long」、RFC 7231では「Payload Too Long」だった。
*3 414はHTTP/1.1では「Request-URI Too Long」だった。
*4 416はHTTP/1.1では「Requested Range Not Satisfiable」だった。
*5 418は1998年エイプリルフールのジョークRFC 2324で「I'm a teapot」として定義されていた。

他の用語辞典による「504エラー」の解説 (外部サイト)