Коды ошибок HTTP — полный справочник: 403, 404, 500, 502, 503
📖 Гайды

Коды ошибок HTTP: что значат 404, 500, 502 и как их исправить

Марина
Марина
📅 16 июля 2026 ⏱ 11 мин чтения 👁 72 просмотров
Коды ошибок HTTP: что значат 404, 500, 502 и как их исправить

Каждый ответ сайта начинается с трёхзначного кода. Первая цифра сразу говорит, что происходит: 2xx — всё хорошо, 3xx — вас перенаправили, 4xx — проблема на стороне запроса, 5xx — сломалось на сервере. Разберём коды, которые встречаются в жизни, и главное — что делать, если ошибку выдаёт ваш сайт.

Шпаргалка по группам

  • 2xx — успех. 200 OK — страница отдана; 201 Created — объект создан (ответ API); 204 No Content — успешно, но тела нет;
  • 3xx — перенаправление. 301 — страница переехала навсегда (важно для SEO), 302 — временно, 304 Not Modified — «бери из кеша»;
  • 4xx — ошибка запроса. Клиент попросил то, чего нет, или то, что нельзя;
  • 5xx — ошибка сервера. Запрос нормальный — сломалось на принимающей стороне.

Частые 4xx: «виноват» запрос

403 Forbidden — доступ запрещён. У файла нет прав на чтение (на хостинге: права 644 для файлов, 755 для папок), либо доступ закрыт правилом в .htaccess, либо ваш IP забанен.

404 Not Found — страницы нет по этому адресу. Если это ваш сайт: битая ссылка, страницу удалили или URL сменился без 301-редиректа. Массовые 404 после переезда сайта — сигнал настроить редиректы со старых адресов.

429 Too Many Requests — слишком часто стучитесь: сработал лимит запросов. Классика при работе парсеров и ботов — добавьте паузы.

Частые 5xx: сломалось на сервере

500 Internal Server Error — универсальное «что-то упало». У сайтов на PHP чаще всего это фатальная ошибка кода или битый .htaccess. Что делать: смотреть лог ошибок (на хостинге — в панели, на VPS — /var/log/) и включить вывод ошибок PHP на время отладки.

Страница ошибки 502 Bad Gateway в браузере
Классика: 502 от nginx — веб-сервер жив, а приложение за ним не отвечает (иллюстрация интерфейса)

502 Bad Gateway — веб-сервер (nginx) жив, а приложение за ним (php-fpm, node, python) не отвечает: упало или не запустилось. Лечится перезапуском бэкенда: systemctl restart php8.2-fpm — и поиском причины падения в логах.

503 Service Unavailable — сервис временно недоступен: техработы, перегрузка или сайт кладёт DDoS-атака. Если 503 без видимой причины и сервер еле дышит — проверьте нагрузку и фильтрацию трафика.

504 Gateway Timeout — бэкенд отвечает, но слишком долго: тяжёлый запрос к базе, внешний API завис. Оптимизируйте медленное место или поднимайте таймауты осознанно.

Кто виноват: памятка для владельца сайта

  • Ошибка у всех посетителей → проблема на сервере: смотрите логи;
  • Ошибка только у вас → кеш браузера, VPN, ваш IP в бане;
  • 5xx появились после обновления кода/плагина → откатите последнее изменение;
  • 5xx под нагрузкой → ресурсов не хватает: пора переезжать с хостинга на VPS или брать тариф мощнее.

Менее частые коды, которые полезно узнавать в лицо

  • 401 Unauthorized — не путать с 403: 401 значит «представьтесь» (нет или протухла авторизация), 403 — «я вас знаю, но нельзя»;
  • 405 Method Not Allowed — классика при отладке API: шлёте POST туда, где ждут GET;
  • 410 Gone — «удалено навсегда»: в отличие от 404, прямо говорит поисковикам выкинуть страницу из индекса — полезно при чистке сайта;
  • 413 Content Too Large — файл больше лимита загрузки: крутите client_max_body_size в nginx и upload_max_filesize в PHP;
  • 451 Unavailable For Legal Reasons — заблокировано по юридическим причинам.

Как самому проверить код ответа

Три способа за 10 секунд:

  • Терминал: curl -I https://site.ru — первая строка ответа и есть код (HTTP/2 200). Флаг -L покажет всю цепочку редиректов;
  • Браузер: F12 → вкладка Network → обновить страницу — колонка Status покажет коды всех запросов, включая картинки и скрипты (красным — ошибки);
  • Для всего сайта: Яндекс.Вебмастер и Search Console ведут отчёты по кодам ответов — там всплывают массовые 404 и 5xx, которые вы сами не заметите.

Свои страницы ошибок вместо стандартных

Голый «502 Bad Gateway» на белом фоне пугает посетителей и роняет доверие. В nginx свои страницы подключаются парой строк в конфиге сайта:

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;

Хорошая страница ошибки содержит: человеческое объяснение («мы уже чиним»), ссылку на главную и поиск. Для 404 полезно добавить популярные разделы — часть потерявшихся посетителей останется на сайте. На виртуальном хостинге страницы ошибок обычно настраиваются в панели управления без правки конфигов.

Узнавать об ошибках раньше пользователей

Худший сценарий: сайт сутки отдаёт 500, а вы узнаёте из письма клиента. Минимальный набор мониторинга — бесплатный:

  • Внешний аптайм-монитор (UptimeRobot и аналоги): раз в 1–5 минут запрашивает сайт и шлёт алерт в Telegram, если код ответа не 200;
  • Яндекс.Вебмастер — раздел «Индексирование» покажет рост 404 и 5xx с точки зрения поискового робота;
  • Крон-скрипт на самом сервере: curl -s -o /dev/null -w '%{http_code}' https://site.ru — и уведомление, если ответ не 200. Подойдёт даже самый дешёвый VPS в роли «сторожа» для основного сервера.

301 или 302: мини-ликбез по редиректам

Оба «перенаправляют», но по-разному: 301 — навсегда, поисковики склеивают старый адрес с новым и передают ему вес; 302 — временно, вес остаётся у старого адреса. Практика: переезд страницы или домена — всегда 301; временная акционная страница или A/B-тест — 302. Перепутанный 302 вместо 301 при переезде — классическая причина просадки SEO-позиций.

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

Чем 502 отличается от 504?

502 — приложение за веб-сервером не отвечает вообще (упало), 504 — отвечает, но не успевает за отведённое время (тормозит). Диагностика разная: в первом случае ищите причину падения, во втором — медленное место.

Что значит ошибка 520/521/522?

Это не стандарт HTTP, а коды CDN-прокси (Cloudflare и аналогов): прокси не смог достучаться до вашего сервера. Проверяйте сам сервер — он выключен, файрвол блокирует прокси, или порт закрыт.

Влияют ли ошибки на SEO?

Да: массовые 404 тратят краулинговый бюджет, длительные 5xx приводят к выпадению страниц из индекса. Мониторьте ошибки в Вебмастере и Search Console; стабильный хостинг — база, выбирайте по аптайму и отзывам в рейтинге.

Что за ошибка 499?

Нестандартный код nginx: посетитель закрыл соединение, не дождавшись ответа. Единичные 499 — норма (люди нетерпеливы), массовые — сигнал, что сайт отвечает слишком долго: смотрите, что тормозит бэкенд.

Почему ошибку вижу я, а другие — нет?

Три обычных причины: кеш браузера (обновите с Ctrl+F5), кеш DNS (вы ходите на старый сервер после переезда) или бан вашего IP файрволом/анти-DDoS. Проверка в режиме инкогнито и с мобильного интернета быстро сужает круг подозреваемых.

Бывают ли коды 1xx?

Да, служебные: 100 Continue («присылай тело запроса»), 101 Switching Protocols (переход на WebSocket). В браузере вы их не увидите — они живут внутри протокола, знать о них нужно разве что разработчикам API.

Шпаргалка: код → первое действие

Код Смысл Первое действие владельца сайта
403 Доступ запрещён Права файлов 644/755, правила в .htaccess
404 Нет страницы Проверить URL, настроить 301 со старых адресов
429 Слишком много запросов Найти, кто спамит: логи access.log
500 Ошибка приложения Открыть error_log — причина написана там
502 Бэкенд не отвечает systemctl restart php-fpm + логи
503 Перегрузка/техработы Проверить нагрузку, DDoS, лимиты хостинга
504 Бэкенд не успевает Найти медленный запрос (база, внешний API)

Читаем access.log: находим ошибки в массе

Отдельная ошибка — случай; статистика ошибок — диагноз. Всё, что сервер отвечал посетителям, лежит в access.log (на VPS — /var/log/nginx/access.log, на хостинге — раздел «Журналы»). Пара однострочников для быстрой картины:

awk '{print $9}' access.log | sort | uniq -c | sort -rn

— сводка «сколько ответов каким кодом»: если 404 или 500 исчисляются тысячами, у сайта системная проблема, а не случайность. Копнуть глубже:

grep ' 404 ' access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head

— ТОП URL-адресов, отдающих 404: сразу видно битую ссылку в шаблоне, пропавшую картинку или бота, долбящего несуществующий wp-login. Аналогично для 500 — только вместо URL смотрите время: всплеск ошибок в 03:00 каждую ночь обычно совпадает с бэкапом или кроном. Пять минут с awk экономят час гадания.

Итог

Запомнить стоит пять кодов: 403 — права, 404 — нет страницы, 500 — ошибка кода, 502 — упал бэкенд, 503 — перегрузка. Первое действие при любой 5xx — логи сервера: в 9 случаях из 10 причина написана там прямым текстом.

Поделиться:
Марина
Редактор · FREEHOSTING
Главный редактор FREEHOSTING. С 2020 года тестирует VDS, VPS и хостинг-провайдеров — арендует серверы, нагружает их реальными проектами и пишет честные обзоры по итогам. Помогает читателям выбирать хостинг под свои задачи: от Telegram-бота до production-сайта.