Программная ошибка
- 1 year ago
- 0
- 0
Ошибка 404 или Not Found («не найдено») — стандартный код ответа HTTP о том, что клиент был в состоянии общаться с сервером , но сервер не может найти данные согласно запросу. Ошибку 404 не следует путать с ошибкой «Сервер не найден» или иными ошибками, указывающими на ограничение доступа к серверу. Ошибка 404 означает, что запрашиваемый ресурс может быть доступен в будущем, что однако не гарантирует наличие прежнего содержания.
Пользователи наиболее часто сталкиваются с ошибкой 404 при посещении так называемых «битых» или «мёртвых ссылок», что делает, таким образом, ошибку 404 одной из наиболее узнаваемых ошибок в сети Интернет .
При связи по HTTP клиент требует ответа на свой запрос к серверу. Например, веб-браузер запрашивает HTML -документ ( веб-страницу ) и ожидает цифровой код ответа и, не всегда обязательно, сообщение. В коде 404, первая цифра «4» указывает ошибку клиента, к примеру, опечатку в URL . Следующие две цифры определяют конкретную ошибку. HTTP использует трёхзначные коды, напоминающие коды для ранних версий протоколов FTP и NNTP .
Следом за кодом ответа 404 для человеческого понимания идёт объяснение причины. Спецификация HTTP предлагает фразу «Not Found» (не найдено) и большинство веб-серверов по умолчанию выводят страницы HTML, который включает в себя как код 404, так и фразу «Not Found».
Ошибка 404 часто возвращается, когда страница была перемещена или удалена, или не совпадает имя файла в коде и на сервере. В первом случае, лучше возвращать клиенту код 301 Moved Permanently, что можно настроить в конфигурации большинства серверов, либо производить перенаправление на другой URL. Во втором случае, лучше возвращать код 410 Gone. Однако, так как эти два варианта требуют специальной настройки сервера, большинство веб-сайтов не используют их.
Ошибку 404 не следует путать с ошибкой DNS , которая появляется, когда данный URL ссылается на имя несуществующего сервера. Ошибка 404 означает, что сам сервер был найден, но не смог найти запрашиваемую страницу.
Веб-сервер обычно может быть настроен на отображение страницы ошибки с более понятным описанием, она может быть оформлена в стиле родительского сайта или включать форму поиска. Фразу идущую на уровне протокола, скрытую от пользователя, редко изменяют.
Однако, не следует отображать пользовательские страницы объёмом менее 512 байт, так как некоторые браузеры, к примеру, Internet Explorer или Google Chrome , вместо пришедшей информации отобразят свою страницу ошибки. Так же в случае если страница не предоставляет иконку (клиент обычно в автоматическом режиме запрашивает её), а ответ сервера включает в себя пользовательский вариант страницы, то это приведёт к дополнительному трафику и увеличению времени загрузки.
Отдельные компании делают « пасхальные яйца » на странице 404. Например, « Пежо » изображает на странице машину Peugeot 404 .
Некоторые веб-сайты вместо «не найдено» возвращают стандартную страницу с кодом «200 OK», это известно как мягкая ошибка 404 . Мягкий 404 является проблемой для автоматизированных методов анализа работоспособности ссылки. Некоторые поисковые системы, такие как Yahoo , используют автоматизированные процессы для выявления мягких 404. Мягкий 404 может произойти в результате ошибки конфигурации при использовании определённого серверного программного обеспечения. Например, в веб-сервере Apache , когда путь к файлу с ошибкой 404 (указанный в .htaccess ) определяется как абсолютный (например, http://example.com/error.html (недоступная+ссылка)), а не относительный (/error.html).
Некоторые прокси-серверы генерируют ошибку 404, когда не находят хост, вместо того, чтобы вернуть код из диапазона 500-х ошибок. Это может сбить с толку программы, которые действуют на базе полученных ответов, ведь они уже не могут легко различить отсутствие веб-сервера и отсутствие веб-страницы на существующем веб-сервере.
В июле 2004 года телекоммуникационный провайдер Великобритании BT Group развернул систему блокировки контента Cleanfeed, которая возвращает ошибку 404 на любой запрос к информации, содержимое которой определено Internet Watch Foundation как потенциально незаконное. Другие провайдеры в той же ситуации возвращают статус HTTP 403 «Запрещено». Практика использования ложных ошибок 404 в качестве цензуры также были зарегистрированы в Таиланде и Тунисе . В Тунисе, где цензура, по слухам, особенно сильна, общественность даже создала персонаж по имени «Аммар 404», который представляет «невидимого цензора».
В 2008 году телекоммуникационный отдел Пост офис провели исследование и обнаружили, что «404» на сленге стал синонимом «невежественный» в Великобритании . Сленг-лексикограф Джонатон Грин высказал мнение, что «404», как сленговое название было обусловлено «влиянием технологий» в молодёжных компаниях, в то же время использование ограничивается Лондоном и рядом других городов.
«В честь» ошибки 404 была названа японская музыкальная группа 404NOTFOUND , абаканская музыкальная группа ШУМ404 , а также российский общественный интернет-проект поддержки гомосексуальных подростков Дети-404 .
Хотя многие сайты отправляют дополнительную информацию в сообщении об ошибке 404, такие как ссылка на главную страницу веб-сайта или форма поиска, есть гораздо более сложные реализации, которые стараются найти правильный адрес веб-страницы, которую запрашивал пользователь.