Ошибка 404


Ошибка 404 или Not Found («не найдено») — стандартный код ответа HTTP о том, что клиент был в состоянии общаться с сервером, но сервер не может найти данные согласно запросу. Ошибку 404 не следует путать с ошибкой «Сервер не найден» или иными ошибками, указывающими на ограничение доступа к серверу. Ошибка 404 означает, что запрашиваемый ресурс может быть доступен в будущем, что однако не гарантирует наличие прежнего содержания.

Пользователи наиболее часто сталкиваются с ошибкой 404 при посещении так называемых «битых» или «мёртвых ссылок», что делает, таким образом, ошибку 404 одной из наиболее узнаваемых ошибок в сети Интернет[1].

При связи по HTTP клиент требует ответа на свой запрос к серверу. Например, веб-браузер запрашивает HTML-документ (веб-страницу) и ожидает цифровой код ответа и, не всегда обязательно, сообщение. В коде 404, первая цифра «4» указывает ошибку клиента, к примеру, опечатку в URL. Следующие две цифры определяют конкретную ошибку. HTTP использует трёхзначные коды, напоминающие коды для ранних версий протоколов FTP и NNTP.

Следом за кодом ответа 404 для человеческого понимания идёт объяснение причины. Спецификация HTTP предлагает фразу «Not Found»[2] (не найдено) и большинство веб-серверов по умолчанию выводят страницы HTML, который включает в себя как код 404, так и фразу «Not Found».

Ошибка 404 часто возвращается, когда страница была перемещена или удалена, или не совпадает имя файла в коде и на сервере. В первом случае, лучше возвращать клиенту код 301 Moved Permanently, что можно настроить в конфигурации большинства серверов, либо производить перенаправление на другой URL. Во втором случае, лучше возвращать код 410 Gone. Однако, так как эти два варианта требуют специальной настройки сервера, большинство веб-сайтов не используют их.

Ошибку 404 не следует путать с ошибкой DNS, которая появляется, когда данный URL ссылается на имя несуществующего сервера. Ошибка 404 означает, что сам сервер был найден, но не смог найти запрашиваемую страницу.