База знаний

Коды состояния HTTP: справочник с объяснениями

Каждый раз, когда браузер обращается к серверу, сервер отвечает трёхзначным числом. Большинство пользователей видят его только когда что-то идёт не так — красный экран с «404» или «500». Но эти числа присутствуют в каждом запросе, и их правильное использование напрямую влияет на индексацию, краулинговый бюджет и позиции в поиске.

Коды состояния HTTP — справочник

Как это работает

HTTP-статус — первая строка ответа сервера. Браузер, поисковый бот, любой HTTP-клиент смотрит на него прежде чем делать что-либо с контентом.

Структура проста: сотые означают информационные ответы, двухсотые — успех, трёхсотые — перенаправление, четырёхсотые — ошибка на стороне клиента, пятисотые — ошибка на стороне сервера. Логика не изменилась с 1996 года — именно поэтому её стоит знать.


2xx — Успех

Всё прошло штатно. Сервер получил запрос, понял его и обработал.

200 OK — стандартный успешный ответ. Страница найдена, контент отдан. Именно этот код должна возвращать каждая нормально работающая страница сайта. Важная деталь: 200 не означает «страница полезна» — только то, что сервер ответил без ошибок.

201 Created — запрос выполнен и в результате создан новый ресурс. Типичный ответ REST API после успешного POST: пользователь создан, заказ принят, запись добавлена. На веб-страницах почти не встречается.

204 No Content — запрос обработан успешно, но возвращать нечего. Часто используется в API для операций типа DELETE или для отправки аналитических событий — клиент сообщает серверу о действии, сервер подтверждает получение, контент не нужен.

206 Partial Content — сервер отдал часть ресурса по запросу с заголовком Range. Именно так работает потоковое видео: браузер запрашивает не весь файл целиком, а нужный фрагмент. Позволяет возобновлять прерванные загрузки.

304 Not Modified — ресурс не изменился с момента последнего запроса. Браузер или поисковый бот прислал условный запрос с If-Modified-Since или If-None-Match, и сервер подтверждает: кэшированная копия актуальна. Тело ответа пустое — экономия трафика для пользователя и краулингового бюджета для поисковика.


3xx — Редиректы

Запрашиваемый ресурс находится по другому адресу. Браузер и поисковый бот должны перейти туда.

301 Moved Permanently — ресурс переехал навсегда. Поисковик передаёт ссылочный вес на новый URL и со временем заменяет старый в индексе. Это правильный код при переезде домена, смене структуры URL, переходе с HTTP на HTTPS. Подробнее — в материале «301 или 302: что выбрать».

302 Found — временное перенаправление. Старый URL остаётся в индексе, ссылочный вес не передаётся. Правильный выбор для технических работ, A/B тестирования, сезонных страниц — всего, что вернётся на место.

303 See Other — после обработки запроса (обычно POST) клиент должен перейти по GET на другой адрес. Стандартный паттерн в веб-формах: отправил форму → сервер обработал → 303 на страницу-подтверждение. Предотвращает повторную отправку при нажатии «Назад».

304 Not Modified — см. раздел 2xx выше. Формально относится к 3xx, но не является редиректом — это кэширующий ответ.

307 Temporary Redirect — временный редирект, гарантирующий сохранение метода запроса. В отличие от 302, браузер не конвертирует POST в GET. Нужен когда важно передать тело запроса на новый адрес без изменений.

308 Permanent Redirect — то же, что 301, но с гарантией сохранения метода. POST остаётся POST. Используется в API и там, где нельзя потерять тело запроса при постоянном переезде.


4xx — Ошибки клиента

Что-то не так с запросом: адрес неверный, прав нет, запрос некорректный.

400 Bad Request — сервер не смог разобрать запрос из-за синтаксической ошибки. Некорректные параметры, невалидный JSON в теле, неправильно закодированный URL. Ошибка на стороне отправителя.

401 Unauthorized — требуется аутентификация. Клиент не передал учётные данные или передал неверные. Несмотря на название, речь именно об аутентификации (кто вы?), а не авторизации (что вам можно?).

403 Forbidden — сервер понял запрос, но отказывается его выполнить. Пользователь идентифицирован, но доступа нет. Закрытый раздел сайта, защищённый файл, IP заблокирован. В отличие от 401, повторная аутентификация не поможет.

404 Not Found — ресурс не найден. Самый известный HTTP-код. Может означать как «страница удалена», так и «такой страницы никогда не существовало», так и «URL введён неправильно». Поисковик продолжает периодически проверять 404-страницы — вдруг они вернутся.

410 Gone — ресурс удалён намеренно и окончательно. В отличие от 404, чётко сигнализирует: этого не будет. Google быстрее убирает такие URL из индекса и прекращает тратить краулинговый бюджет на повторные проверки. Используйте 410 когда намеренно удаляете страницы — это честнее и эффективнее для SEO, чем просто 404.

429 Too Many Requests — слишком много запросов за короткий период. Механизм rate limiting: сервер защищается от перегрузки или злоупотреблений. Обычно сопровождается заголовком Retry-After с рекомендуемым временем ожидания.

451 Unavailable For Legal Reasons — контент недоступен по юридическим причинам: решение суда, требование регулятора, авторские права. Код создан в 2015 году — название отсылает к роману Рэя Брэдбери. В России применяется для страниц, заблокированных по решению РКН.


5xx — Ошибки сервера

Запрос корректный, но сервер не смог его выполнить. Проблема на стороне сервера.

500 Internal Server Error — что-то пошло не так на сервере, но что именно — неизвестно. Необработанное исключение в коде, баг в приложении, ошибка конфигурации. Универсальный ответ «сервер сломался».

502 Bad Gateway — промежуточный сервер (Nginx, балансировщик) получил некорректный ответ от вышестоящего (приложения, бэкенда). Типично при падении приложения за reverse proxy.

503 Service Unavailable — сервер временно недоступен: перегрузка или плановые технические работы. При корректном использовании должен сопровождаться заголовком Retry-After. Поисковик с таким заголовком подождёт и не удалит страницы из индекса. Без него — долгий 503 воспринимается как постоянное падение.

504 Gateway Timeout — промежуточный сервер не дождался ответа от вышестоящего в отведённое время. Бэкенд слишком долго обрабатывал запрос. Типично при тяжёлых запросах к базе данных или медленных внешних сервисах.


Влияние на SEO

HTTP-статус — один из первых сигналов, которые видит поисковый бот при краулинге. Неправильный код приводит к прямым потерям: страницы выпадают из индекса, ссылочный вес растворяется, краулинговый бюджет тратится впустую.

КодПоведение Яндекса и Google
200Страница индексируется нормально
301Вес передаётся на новый URL, старый убирается из индекса
302Старый URL остаётся в индексе, вес не передаётся
304Кэшированная версия остаётся актуальной, краулинг экономится
404Страница периодически перепроверяется, медленно убирается
410Страница быстро убирается из индекса, проверки прекращаются
500/503Временно не индексируется; долгая серия = потеря позиций

Три практических правила:

Постоянные переезды — только 301. 302 при переезде домена — одна из самых дорогих SEO-ошибок: позиции нового домена строятся с нуля, пока старый держит весь накопленный вес.

Удалённые страницы — 410, не 404. Если страница не вернётся — скажите об этом явно. Поисковик перестанет тратить бюджет на её проверку.

503 с Retry-After при работах. Плановое обслуживание без этого заголовка выглядит для поисковика как отказ сервера.


Справочная таблица

КодНазваниеЗначение
200OKУспешный запрос
201CreatedРесурс создан
204No ContentУспех, тело пустое
206Partial ContentЧастичный ответ (Range)
301Moved PermanentlyПостоянный редирект
302FoundВременный редирект
303See OtherРедирект после POST
304Not ModifiedКэш актуален
307Temporary RedirectВременный (метод сохраняется)
308Permanent RedirectПостоянный (метод сохраняется)
400Bad RequestНекорректный запрос
401UnauthorizedТребуется аутентификация
403ForbiddenНет доступа
404Not FoundНе найдено
410GoneУдалено навсегда
429Too Many RequestsСлишком много запросов
451Unavailable For Legal ReasonsЗаблокировано по закону
500Internal Server ErrorОшибка сервера
502Bad GatewayОшибка шлюза
503Service UnavailableСервер недоступен
504Gateway TimeoutТаймаут шлюза

Часто задаваемые вопросы

Что означает код 200 OK?
200 — стандартный успешный ответ. Сервер нашёл страницу, обработал запрос и отдал контент. Это именно то, что должно происходить при каждой загрузке страницы.
Чем отличается 301 от 302?
301 — постоянный редирект: поисковик передаёт ссылочный вес на новый URL и со временем убирает старый из индекса. 302 — временный: старый URL остаётся в индексе, вес не передаётся. При переезде домена нужен 301.
В чём разница между 404 и 410?
404 — страница не найдена, причина неизвестна (может вернуться). 410 — страница удалена намеренно и навсегда. Google быстрее убирает 410 из индекса и перестаёт тратить краулинговый бюджет на проверку.
Что такое 304 Not Modified и зачем он нужен?
304 означает, что ресурс не изменился с момента последнего запроса. Браузер или поисковый бот использует кэшированную версию без повторной загрузки. Это экономит трафик и краулинговый бюджет.
Что делать при ошибке 503?
503 означает, что сервер временно недоступен — перегрузка или плановые работы. Если поставить корректный заголовок Retry-After, поисковик подождёт и не удалит страницы из индекса. Без Retry-After долгий 503 воспринимается как падение сайта.
Что означает код 451?
451 Unavailable For Legal Reasons — страница недоступна по юридическим причинам: авторские права, решение суда, требование регулятора. Название отсылает к роману Рэя Брэдбери 'Fahrenheit 451'. В России используется для страниц, заблокированных по требованию РКН.
Почему 502 и 504 — разные ошибки?
502 Bad Gateway — промежуточный сервер получил некорректный ответ от вышестоящего. 504 Gateway Timeout — промежуточный сервер не дождался ответа вообще. Оба говорят о проблемах между серверами в цепочке (например, между Nginx и приложением).

Связанные материалы

🔀

Настройте 301 правильно — без доступа к серверу

redirekto.ru управляет редиректами на уровне DNS. Никакого кода, никакого хостинга — только правильный HTTP-статус с первого запроса.

Попробовать бесплатно
A B

платформа редиректов

редиректо.ru

Включайте предсказуемую маршрутизацию доменов: DNS, HTTPS и контроль правил в одной панели.