Коды состояния HTTP — это трёхзначные числа, которые сервер возвращает в ответ на каждый запрос браузера или приложения. Они показывают, успешно ли обработан запрос, произошло ли перенаправление или возникла ошибка на стороне клиента либо сервера. Понимать коды HTTP нужно всем: веб-разработчикам, SEO-специалистам и пользователям, которые видят ошибку на экране.
Для быстрого поиска нужного кода используйте Ctrl+F и введите номер.
Категории кодов HTTP
- 1xx — Информационные: сервер принял запрос и продолжает обработку
- 2xx — Успешные: запрос выполнен корректно
- 3xx — Перенаправления: клиент должен сделать дополнительный запрос
- 4xx — Ошибки клиента: проблема на стороне запроса
- 5xx — Ошибки сервера: проблема на стороне сервера
Информационные коды (1xx)
100 Continue
Сервер получил заголовки запроса и разрешает клиенту отправить тело. Используется при отправке больших объёмов данных (например, загрузка файла) — позволяет не тратить трафик, если сервер заранее отклоняет запрос.
101 Switching Protocols
Сервер соглашается сменить протокол — например, перейти с HTTP на WebSocket. После этого ответа соединение переходит в режим нового протокола. Часто встречается при работе с чатами и реал-тайм приложениями.
102 Processing
Сервер принял запрос и обрабатывает его, но ответ ещё не готов. Используется в WebDAV при длительных операциях, чтобы не было таймаута на стороне клиента.
Успешные коды (2xx)
200 OK
Стандартный успешный ответ. При GET-запросе в теле ответа передаётся запрошенный ресурс. При POST — подтверждение принятых данных. Если вы видите 200 — всё работает корректно.
201 Created
Запрос успешно выполнен и в результате создан новый ресурс. URI нового ресурса возвращается в заголовке Location. Типичный ответ при успешном POST-запросе к API (например, создание пользователя или записи).
202 Accepted
Запрос принят в обработку, но ещё не завершён. Сервер может обработать его асинхронно — например, поставить в очередь. Используется в фоновых задачах: экспорт данных, отправка рассылки.
204 No Content
Сервер успешно обработал запрос, но не возвращает тело ответа. Часто используется в REST API при DELETE-запросах или при сохранении без необходимости обновлять страницу.
206 Partial Content
Сервер возвращает только часть ресурса — в ответ на запрос с заголовком Range. Используется при скачивании больших файлов по частям (менеджеры загрузок, видеостриминг с перемоткой).
Коды перенаправления (3xx)
301 Moved Permanently
Ресурс окончательно переехал на новый адрес, указанный в заголовке Location. Браузеры и поисковые роботы запоминают новый URL и в дальнейшем обращаются сразу к нему. SEO-важность: 301 передаёт «вес» страницы на новый адрес. Используйте при постоянном переносе страниц или при смене домена.
302 Found
Ресурс временно доступен по другому адресу. В отличие от 301, следующие запросы должны идти по оригинальному URL. SEO-важность: 302 не передаёт вес, поэтому не используйте его вместо 301 при постоянных редиректах.
303 See Other
Ответ на запрос находится по другому URI и должен быть получен методом GET. Типичное применение: после успешной отправки формы (POST) — перенаправить пользователя на страницу «Спасибо», чтобы при обновлении страницы форма не отправлялась повторно.
304 Not Modified
Ресурс не изменился с момента последнего запроса — клиент может использовать кэшированную копию. Браузер при повторном посещении сайта проверяет актуальность кэша: если сервер возвращает 304, страница загружается мгновенно без повторной загрузки файлов.
307 Temporary Redirect
Временное перенаправление, аналогичное 302, но с явным условием: метод HTTP и тело запроса должны быть сохранены при редиректе. Например, POST-запрос остаётся POST-запросом, а не конвертируется в GET.
308 Permanent Redirect
Аналог 301, но метод и тело запроса сохраняются. Рекомендуется при постоянном переносе API-эндпоинтов, принимающих POST-запросы.
Ошибки клиента (4xx)
400 Bad Request
Сервер не может обработать запрос из-за ошибок в его структуре: некорректный синтаксис, неверные заголовки, недопустимая кодировка. Для пользователей: попробуйте обновить страницу или очистить кэш браузера. Для разработчиков: проверьте формат отправляемых данных.
401 Unauthorized
Запрос требует аутентификации. Сервер сообщает, какой метод аутентификации принимает (в заголовке WWW-Authenticate). Для пользователей: введите логин и пароль. Если уже вошли — попробуйте выйти и войти снова. Для разработчиков: проверьте корректность токена авторизации.
403 Forbidden
Сервер понял запрос, но отказывает в доступе. Аутентификация не поможет — нет прав. Частые причины: файл или папка закрыты для доступа, IP-адрес заблокирован, неправильные права доступа к файлу на сервере (chmod). Для разработчиков: проверьте права на директорию (755 для папок, 644 для файлов).
404 Not Found
Сервер не может найти запрошенный ресурс. Самый распространённый HTTP-код ошибки. Причины: опечатка в URL, страница удалена, изменена структура сайта. Для владельцев сайтов: настройте 301-редиректы при переносе страниц и создайте информативную страницу 404 с навигацией.
405 Method Not Allowed
Метод HTTP недопустим для данного ресурса. Сервер указывает допустимые методы в заголовке Allow. Например, попытка отправить POST-запрос на ресурс, принимающий только GET.
408 Request Timeout
Сервер ждал запрос слишком долго. Клиент не отправил запрос в отведённое время. Причины: медленное интернет-соединение, перегрузка на стороне клиента. Попробуйте повторить запрос.
409 Conflict
Конфликт при обработке запроса — например, попытка создать ресурс с уже существующим ID или редактирование устаревшей версии документа. Для разработчиков: сервер должен указать, как разрешить конфликт.
410 Gone
Ресурс окончательно удалён и не будет восстановлен. В отличие от 404, сервер явно сообщает, что ресурс удалён намеренно. Поисковые роботы исключат URL из индекса быстрее, чем при 404.
429 Too Many Requests
Клиент отправляет слишком много запросов за единицу времени (rate limiting). Сервер может указать в заголовке Retry-After, когда можно повторить запрос. Часто встречается при работе с API.
Ошибки сервера (5xx)
500 Internal Server Error
Общая ошибка сервера — что-то пошло не так на серверной стороне. Причины: ошибки в PHP/Python/Node.js скриптах, проблемы с базой данных, синтаксические ошибки в конфигурации. Для владельцев сайтов: смотрите логи ошибок сервера (error.log). Для пользователей: попробуйте повторить запрос позже.
501 Not Implemented
Сервер не поддерживает функциональность, необходимую для обработки запроса. Встречается при использовании нестандартных методов HTTP или при обращении к неподдерживаемым функциям API.
502 Bad Gateway
Прокси-сервер или балансировщик нагрузки получил некорректный ответ от вышестоящего сервера. Частые причины: вышестоящий сервер упал или перезагружается, таймаут при обращении к backend. Обычно временная проблема — попробуйте обновить страницу через 1–2 минуты.
503 Service Unavailable
Сервер временно недоступен — перегрузка или техническое обслуживание. Правильно настроенный сервер возвращает заголовок Retry-After с временем восстановления. Поисковые роботы не удаляют страницы из индекса при 503, если он возвращается кратковременно.
504 Gateway Timeout
Прокси-сервер не получил ответ от вышестоящего сервера в отведённое время. Похож на 502, но причина — таймаут, а не некорректный ответ. Часто возникает при высокой нагрузке или медленных запросах к базе данных.
505 HTTP Version Not Supported
Сервер не поддерживает версию протокола HTTP, использованную в запросе. Редкая ошибка — возникает при использовании устаревших или нестандартных клиентов.
Частые ошибки и как их исправить
404 на рабочей странице
- Очистить кэш браузера: Ctrl+Shift+Delete
- Проверить правильность URL (лишние символы, пробелы)
- Если страница точно существовала — возможно, сайт переехал. Поищите через Google по названию страницы
500 на вашем сайте
- Проверить error.log на хостинге
- Временно переименовать .htaccess (если Apache): иногда там синтаксическая ошибка
- Проверить права на файлы и папки
- Деактивировать все плагины (для WordPress) и проверить, исчезла ли ошибка
503 при высокой нагрузке
- Подождать 5–10 минут и повторить
- Если ошибка на вашем сайте — проверить нагрузку на хостинг через панель управления
- Рассмотреть переход на тариф с большими ресурсами или подключение CDN
Что делать если ничего не помогло
Если ошибки 4xx или 5xx не устраняются:
- Ошибки 4xx: обратитесь к владельцу сайта или проверьте статус сервиса на Downdetector
- Ошибки 5xx на вашем сайте: свяжитесь с поддержкой хостинга — они имеют доступ к системным логам
- Проблемы с API: проверьте документацию и статусную страницу сервиса
FAQ
В чём разница между 301 и 302 редиректом?
301 — постоянный редирект: передаёт «вес» страницы новому URL, поисковики обновляют индекс. 302 — временный: вес не передаётся, исходный URL остаётся в индексе. Для постоянного переноса страниц используйте только 301.
Влияют ли коды HTTP на SEO?
Да. 301 передаёт позиции в поиске. 404 и 410 сигнализируют поисковикам об удалённых страницах. 503 при длительном простое может привести к временному исключению из индекса. 200 — норма. 302 вместо 301 при постоянном редиректе — потеря веса страницы.
Что означает ошибка 403 Forbidden и как её исправить?
403 означает запрет доступа без возможности авторизоваться. На сервере: проверьте права на файлы (папки — 755, файлы — 644 или 640). Проверьте, не заблокирован ли ваш IP в .htaccess или файрволе сервера.
Почему возникает ошибка 502 Bad Gateway?
502 появляется, когда промежуточный сервер (nginx, CloudFlare, балансировщик) не получил корректный ответ от backend-сервера. Чаще всего причина — перезагрузка или падение backend. Обычно проходит само через 1–5 минут.
Что делать, если сайт отдаёт 500 после обновления плагина WordPress?
Зайдите в папку wp-content/plugins через FTP или файловый менеджер хостинга. Переименуйте папку проблемного плагина (например, добавьте -disabled). WordPress автоматически деактивирует его, и сайт заработает.
Чем отличается 404 от 410?
404 означает «не найдено» — сервер не знает, временно это или постоянно. 410 означает «удалено навсегда» — явный сигнал для поисковых роботов исключить URL из индекса. Если страница удалена намеренно и навсегда — лучше возвращать 410.
Код 429 в API — что делать?
Вы превысили лимит запросов. Проверьте заголовок Retry-After в ответе — там указано, через сколько секунд можно повторить запрос. Для автоматических систем реализуйте экспоненциальную задержку между повторными запросами.
Где узнать про коды ошибок http
Здравствуйте, в данной статье расписаны основные коды ошибок.