Справочник
Коды ответа HTTP
Что означает каждый код состояния, почему возникает ошибка и как её исправить — для посетителей и владельцев сайтов.
3xx — перенаправления
301 Moved PermanentlyКод 301 Moved Permanently: страница навсегда переехала на новый URL. Чем отличается от 302, 307 и 308, настройка в nginx и Apache, как видят Яндекс и Google.302 FoundКод 302 Found: временный редирект на другой URL. Когда нужен, чем отличается от 301 и 307, настройка в nginx, Apache и коде, как его видят Яндекс и Google.304 Not ModifiedКод 304 Not Modified не ошибка: страница не изменилась, и браузер берёт её из кеша. Как работают ETag и кеш, настройка nginx и Apache, влияние на SEO.307 Temporary RedirectКод 307 Temporary Redirect: временный редирект с сохранением метода запроса. Отличия от 302 и 308, 307 Internal Redirect (HSTS) в Chrome, примеры настройки.308 Permanent RedirectКод 308 Permanent Redirect: постоянный редирект с сохранением метода запроса. Чем отличается от 301, когда нужен, примеры для nginx, Apache, Next.js, SEO.
4xx — ошибки клиента
400 Bad RequestОшибка 400 Bad Request: сервер не смог разобрать запрос. Причины, что делать посетителю, как поднять лимит заголовков в nginx и Apache, влияние на SEO.401 UnauthorizedОшибка 401 Unauthorized: для доступа нужна авторизация. Чем 401 отличается от 403, Basic-авторизация в nginx и Apache, как её видят Яндекс и Google.403 ForbiddenОшибка 403 Forbidden: доступ запрещён. Причины (права на файлы, запрет по IP, защита), что делать посетителю, как исправить в nginx и Apache, влияние на SEO.404 Not FoundОшибка 404 Not Found: сервер не нашёл страницу по адресу. Причины, что делать посетителю и владельцу, настройка страницы 404 в nginx и Apache, влияние на SEO.405 Method Not AllowedОшибка 405 Method Not Allowed: сервер не принимает HTTP-метод запроса. Причины, как исправить для форм и API, заголовок Allow в nginx, влияние на SEO.410 GoneКод 410 Gone: ресурс удалён намеренно и навсегда. Чем отличается от 404, когда его ставить, как настроить в nginx и Apache и как 410 видят Яндекс и Google.429 Too Many RequestsОшибка 429 Too Many Requests: слишком много запросов за короткое время. Что делать посетителю, лимиты в nginx, заголовок Retry-After и влияние на SEO.
5xx — ошибки сервера
500 Internal Server ErrorОшибка 500 — внутренний сбой сервера. Что значит код 500, что может сделать посетитель, как владельцу найти причину в логах nginx, PHP и .htaccess.501 Not ImplementedОшибка 501 Not Implemented: сервер не поддерживает нужную функцию или метод запроса. Чем отличается от 405 и 500, как найти причину и что делать владельцу.502 Bad GatewayОшибка 502 Bad Gateway: что значит, что делать посетителю и как владельцу исправить её в nginx и php-fpm. Разбор логов, upstream, буферов и отличие от 504.503 Service UnavailableОшибка 503 Service Unavailable: сервер перегружен или на техобслуживании. Что делать посетителю, как настроить Retry-After и режим обслуживания, влияние на SEO.504 Gateway TimeoutОшибка 504 Gateway Timeout: прокси не дождался ответа от сервера. Что делать посетителю, как владельцу найти медленный запрос и настроить proxy_read_timeout.
Классы кодов состояния HTTP
Код ответа (status code) — трёхзначное число, которым сервер сообщает результат обработки запроса. Первая цифра задаёт класс (RFC 9110):
- 1xx — информационные: запрос получен, обработка продолжается.
- 2xx — успех:
200 OK,201 Created,204 No Content. - 3xx — перенаправление: 301, 302, 304, 307, 308.
- 4xx — ошибка клиента: 400, 401, 403, 404, 410, 429.
- 5xx — ошибка сервера: 500, 502, 503, 504.
Узнать код ответа любой страницы можно в бесплатной проверке кода ответа сервера.