Ошибка HTTP 404 Not Found¶
Not Found (с англ. — «не найдено») — стандартный код ответа HTTP, который сервер возвращает клиенту в случае, если запрошенный ресурс (страница, файл, изображение или API-эндпоинт) не может быть найден по указанному URL-адресу. Код относится к классу 4xx, обозначающему ошибки на стороне клиента, и является одним из наиболее распространённых и узнаваемых статусов в протоколе передачи гипертекста.
¶Определение и стандарт
Код состояния 404 был определён в спецификации HTTP/1.0 (RFC 1945) в 1996 году и сохранён в последующих версиях протокола, включая HTTP/1.1 (RFC 2616, затем RFC 7231) и HTTP/2. Согласно стандарту, серверу следует возвращать ответ 404, если он не может сопоставить запрошенный URI ни с одним из своих ресурсов. При этом сервер не обязан раскрывать причину отсутствия ресурса — он может вернуть 404 и в тех случаях, когда ресурс существует, но доступ к нему намеренно скрыт (например, для защиты от перечисления файлов).
Формально ответ 404 должен содержать тело сообщения с пояснением для пользователя, однако на практике многие серверы возвращают лишь минимальный HTML-код или пустое тело. В протоколе HTTP/2 код 404 передаётся в поле :status заголовков, а в HTTP/3 — аналогичным образом.
¶Причины возникновения
Ошибка 404 возникает в нескольких типовых ситуациях:
- Опечатка в адресе — пользователь вручную вводит URL с ошибкой, либо переходит по битой ссылке с другого сайта.
- Удаление или перемещение страницы — контент был удалён владельцем сайта, а редирект (код 301 или 308) на новый адрес не настроен.
- Изменение структуры сайта — при редизайне или переходе на новую CMS старые URL-адреса перестают работать без настройки переадресации.
- Неверная конфигурация сервера — ошибки в файле
.htaccess(Apache) или конфигурации nginx, неверно указанный корневой каталог. - Срок действия ссылки — устаревшие ссылки в закладках, почтовых рассылках, QR-кодах или печатных материалах.
- Намеренное скрытие — администраторы могут возвращать 404 для ресурсов, которые существуют, но не должны быть доступны по прямой ссылке.
¶Отличие от смежных кодов
Важно различать 404 и другие коды ошибок:
- 400 Bad Request — сервер не понял синтаксис запроса.
- 401 Unauthorized / 403 Forbidden — ресурс существует, но требует аутентификации или доступ к нему запрещён.
- 410 Gone — ресурс ранее существовал, но был намеренно удалён, и это известно серверу. В отличие от 404, код 410 даёт клиенту явный сигнал, что повторные запросы бессмысленны.
- 500 Internal Server Error — ошибка на стороне сервера, а не клиента.
¶Кастомизация страницы ошибки
По умолчанию веб-серверы (Apache, nginx, IIS) возвращают простую текстовую или HTML-страницу с кодом и кратким сообщением. Однако большинство сайтов настраивают собственную страницу 404, которая выполняет несколько функций:
- Информирование пользователя — сообщение о том, что страница не найдена.
- Навигация — ссылки на главную страницу, популярные разделы, карту сайта или поиск.
- Брендинг — сохранение фирменного стиля и юмористические или креативные сообщения (например, «404: страница потерялась в космосе»).
- Сбор данных — аналитика переходов на страницу 404 позволяет выявить битые ссылки и исправить их.
В России и русскоязычном сегменте интернета распространены как стандартные надписи («Ошибка 404», «Страница не найдена»), так и ироничные варианты («Такой страницы нет, но вы держитесь»).
¶Влияние на поисковую оптимизацию
Для поисковых систем код 404 является штатной ситуацией. Поисковые роботы (например, Яндекс и Google) при обнаружении кода 404 постепенно исключают страницу из индекса. Однако неправильная настройка может нанести вред:
- Мягкие 404 (soft 404) — сервер возвращает код 200 (успех) с контентом страницы об ошибке. Это вводит поисковые системы в заблуждение, и такие страницы могут долго оставаться в индексе, снижая качество сайта.
- Массовые 404 — если большое количество страниц сайта внезапно начинает отдавать 404 (например, после смены структуры), это может негативно сказаться на ранжировании, особенно если на эти страницы ведут внешние ссылки.
- Редиректы — для сохранения ссылочного веса рекомендуется вместо 404 настраивать 301-редирект на релевантную страницу, если контент был перемещён.
В «Яндекс.Вебмастере» и Google Search Console предусмотрены отчёты об ошибках 404, позволяющие веб-мастерам отслеживать и исправлять проблемные адреса.
¶Использование в API
В архитектуре RESTful API код 404 возвращается, когда запрошенный ресурс не существует. Например:
GET /users/12345— если пользователь с идентификатором 12345 не найден в базе данных, сервер вернёт 404.DELETE /articles/999— при попытке удалить несуществующую статью.
В ответе API обычно содержится JSON-объект с кодом ошибки и человекочитаемым сообщением. При этом важно различать 404 (ресурс не найден) и 400 (неверный формат запроса) — последний означает, что проблема в самом запросе, а не в отсутствии данных.
¶Культурное влияние
Код 404 вышел далеко за пределы технической документации. Он стал частью массовой культуры:
- Мемы и шутки — «404: чувство юмора не найдено», «404: мотивация не найдена» — распространённые интернет-мемы.
- Названия компаний — существуют IT-компании и студии, использующие «404» в названии (например, студия разработки 404 Agency).
- Произведения искусства — художники и дизайнеры создают работы, посвящённые ошибке 404, а в 2011 году была выпущена книга «404: Ошибка не найдена» о культуре цифровых ошибок.
- Игры — в некоторых видеоиграх встречаются отсылки к коду 404 (например, в игре Portal 2 есть достижение «404: Достижение не найдено»).
¶Дополнительные факты
- В России и странах бывшего СССР в шутку расшифровывают «404» как «ничего не найдено» (по созвучию с английским «for oh for»), а также существует городская легенда о том, что код назван в честь комнаты 404 в ЦЕРНе, где якобы работал Тим Бернерс-Ли (комната действительно существует, но код был введён позже и к ней отношения не имеет).
- Некоторые сайты намеренно возвращают 404 для скрытых разделов, чтобы не раскрывать их существование посторонним.
- В кириллической раскладке клавиатуры «404» при наборе в некоторых шрифтах визуально напоминает слово «ЧО» или «АО», что породило дополнительные шутки.
¶Источники
- RFC 1945 — Hypertext Transfer Protocol — HTTP/1.0
- RFC 7231 — Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
- Документация «Яндекс.Вебмастер» — раздел об ошибках загрузки страниц
- Google Search Central — документация по кодам состояния HTTP
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →

