504 Gateway Timeout ("шлюз не отвечает")

https://httpcat.ru/504
Это прямая ссылка на изображение со статусом. Вы можете скопировать и использовать её где угодно.
HTTP статус 504 — шлюз не отвечает

Описание

Код состояния 504 Gateway Timeout означает, что сервер, действующий как шлюз или прокси, не получил ответ от вышестоящего сервера вовремя и потому не смог завершить обработку запроса.

Основные характеристики:

  • Происходит на промежуточных серверах (например, Nginx, API Gateway, CDN), когда они ожидают ответ от backend-сервиса, но тот не отвечает в установленный таймаут
  • Отличается от 502 Bad Gateway: там пришёл **неправильный ответ**, здесь — **ответ вообще не пришёл**
  • Причина может быть в перегрузке, падении, зависании или медленной работе целевого сервиса

Типичное использование:

GET /api/slow-report HTTP/1.1
Host: example.com

HTTP/1.1 504 Gateway Timeout
Content-Type: application/json

{
    "error": "Gateway Timeout",
    "message": "Upstream server did not respond in time"
}

Особенности заголовков:

  • Content-Type — может указывать на формат сообщения об ошибке
  • Via, X-Forwarded-For — помогают определить путь запроса через промежуточные узлы

Когда использовать:

  1. Если API-шлюз или прокси не дождался ответа от backend-сервиса
  2. При задержках в базе данных, микросервисах или сторонних API
  3. Когда между серверами установлен таймаут, и он был превышен

Дополнительно:

  • 504 сигнализирует о сетевой или инфраструктурной проблеме между компонентами
  • Клиент может повторить запрос позже, но при частых 504 стоит исследовать производительность backend-сервиса
  • Не должен использоваться для ошибок клиента или логики приложения

Документация: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504


Похожие статусы

HTTP статус 408 — истекло время ожидания
408
истекло время ожидания
HTTP статус 502 — плохой, ошибочный шлюз
502
плохой, ошибочный шлюз
HTTP статус 503 — сервис недоступен
503
сервис недоступен

↑ Наверх