598 Network read timeout error ("ошибка тайм-аута сетевого чтения")

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

Описание

Код состояния 598 Network Read Timeout Errorнеофициальный HTTP-статус, используемый клиентскими библиотеками (например, Python Requests, curl, ElasticSearch, Tornado) для обозначения того, что сервер начал отправку ответа, но не завершил его вовремя.

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

  • 598 — это внутренний клиентский статус, не предусмотренный в стандарте HTTP
  • Отличается от 599: тот означает таймаут при установлении соединения, а 598 — таймаут при чтении тела ответа
  • Может быть вызван медленной отдачей данных сервером, зависанием backend-приложения или нестабильным соединением

Пример использования (на клиенте):

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

# Клиент начинает получать тело ответа, но чтение не завершается вовремя

HTTP/1.1 598 Network Read Timeout Error
Content-Type: application/json

{
    "error": "Timeout while reading response from server"
}

Когда возникает:

  1. Сервер начал отдавать ответ, но завершение чтения произошло позже лимита, заданного клиентом
  2. При потоковой передаче, когда часть данных получена, но чтение зависло
  3. На медленных соединениях или при больших объёмах данных

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

  • Обычно сгенерирован клиентом — может вообще не содержать HTTP-заголовков сервера
  • Может сопровождаться логами/исключениями в клиентском коде

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

  • 598 не является официальным статусом HTTP — это инструмент для отладки в HTTP-клиентах
  • В системах вроде ElasticSearch, Tornado, Scrapy он может фиксироваться в логах при сбоях чтения
  • Официального аналога нет — можно заменить на 504 Gateway Timeout (на сервере) или вернуть 408 Request Timeout при чтении тела

Документация: https://http.dev/598


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

HTTP статус 504 — шлюз не отвечает
504
шлюз не отвечает

↑ Наверх