HTTP 503 Service Unavailable

Временно закрыто: сервер жив, но сейчас не может принимать запросы — перегружен или на обслуживании.

Что означает HTTP 503

HTTP 503 Service Unavailable — вежливый сигнал о простое: сервер существует и работает, но временно отказывает в обслуживании трафика из-за перегрузки, обслуживания или недоступности вышестоящей зависимости. Заголовок Retry-After сообщает клиентам, когда вернуться.

503 намеренно отличается от 500: ничего не сломано, просто сейчас не хватает мощности. Именно это различие краулеры и клиенты API используют, чтобы решить, как реагировать.

Частые причины ошибок 503

  • Запланированный режим обслуживания (многие платформы отдают 503 во время деплоя).
  • Всплески трафика, исчерпывающие воркеры, соединения или лимиты автомасштабирования.
  • Перезапуск зависимости (база данных, кэш), из-за которого приложение отказывает в обслуживании запросов.
  • Защита от DDoS или лимиты соединений, сбрасывающие нагрузку.
  • Хостинг приостанавливает или ограничивает сайт, превысивший свой тарифный план.

Как исправить со стороны посетителя

  • Подождите и повторите попытку — 503 по определению временный.
  • Проверьте страницу статуса сайта или соцсети на объявления об обслуживании.

Как исправить со стороны владельца сайта

  • Отправляйте Retry-After с реалистичной оценкой во время окон обслуживания.
  • Устраните нехватку мощности: масштабируйте воркеры/инстансы, добавьте кэширование, поставьте затратные операции в очередь.
  • Настройте health-check'и так, чтобы отличать «загружается» от «мертво» и оркестраторы не флапали.
  • Держите 503 при обслуживании короткими — по возможности отдавайте кэшированные страницы вместо полного отключения.

Пример ответа

HTTP/1.1 503 Service Unavailable
Retry-After: 120
Content-Type: text/html

<html><body><h1>Down for maintenance, back in 2 minutes</h1></body></html>

Влияние на SEO

503 — безопасный для SEO способ быть недоступным: Googlebot понимает «временно недоступен», повторяет попытки позже и сохраняет ваши страницы в индексе. Отдача страниц техобслуживания с 200 (дублирующийся контент) или 404/410 (деиндексация!) во время простоя — способ случайно потерять позиции в выдаче.

Частые вопросы

Должны ли страницы техобслуживания возвращать 503?

Да, с заголовком Retry-After. Он сообщает краулерам, что сбой временный, и защищает ваши позиции в выдаче.

Как долго сайт может безопасно отдавать 503?

Дни, а не недели. Затянувшиеся 503 (примерно свыше недели-двух) Google расценивает как признак того, что сайт мог исчезнуть, и начинает удалять URL из индекса.

В чём разница между 500 и 503?

500 означает, что сервер дал сбой при обработке; 503 означает, что он намеренно отказал, потому что перегружен или на обслуживании.