Ошибка 404
HTTP 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. Однако, так как эти два варианта требуют специальной настройки сервера, большинство веб-сайтов не используют их.
Пользовательские страницы ошибок
[править |править код]
Веб-сервер обычно может быть настроен на отображение страницы ошибки с более понятным описанием, она может быть оформлена в стиле родительского сайта или включать форму поиска. Фразу идущую на уровне протокола, скрытую от пользователя, редко изменяют.
Однако не следует отображать пользовательские страницы объёмом менее 512 байт, так как некоторые браузеры, к примеру,Internet Explorer илиGoogle Chrome, вместо пришедшей информации отобразят свою страницу ошибки. Так же в случае если страница не предоставляетиконку (клиент обычно в автоматическом режиме запрашивает её), а ответ сервера включает в себя пользовательский вариант страницы, то это приведёт к дополнительному трафику и увеличению времени загрузки[3][4].
Отдельные компании делают «пасхальные яйца» на странице 404. Например, «Пежо» изображает на странице машинуPeugeot 404[5].
Ложное использование ошибки 404
[править |править код]Некоторые веб-сайты вместо «не найдено» возвращают стандартную страницу с кодом «200 OK», это известно какмягкая ошибка 404. Мягкий 404 является проблемой для автоматизированных методов анализа работоспособности ссылки. Некоторые поисковые системы, такие как Yahoo[6][2], используют автоматизированные процессы для выявления мягких 404[7]. Мягкий 404 может произойти в результате ошибки конфигурации при использовании определённого серверного программного обеспечения. Например, в веб-сервереApache, когда путь к файлу с ошибкой 404 (указанный в.htaccess) определяется как абсолютный (например, http://example.com/error.html (недоступная+ссылка)), а не относительный (/error.html)[8].
Некоторые прокси-серверы генерируют ошибку 404, когда не находят хост, вместо того, чтобы вернуть код из диапазона 500-х ошибок. Это может сбить с толку программы, которые действуют на базе полученных ответов, ведь они уже не могут легко различить отсутствие веб-сервера и отсутствие веб-страницы на существующем веб-сервере.
В июле 2004 года телекоммуникационный провайдер ВеликобританииBT Group развернул систему блокировки контента Cleanfeed, которая возвращает ошибку 404 на любой запрос к информации, содержимое которой определеноInternet Watch Foundation как потенциально незаконное[9]. Другие провайдеры в той же ситуации возвращают статус HTTP403 «Запрещено»[10]. Практика использования ложных ошибок 404 в качествецензуры также были зарегистрированы вТаиланде[11] иТунисе[12]. В Тунисе, где цензура, по слухам, особенно сильна, общественность даже создала персонаж по имени «Аммар 404», который представляет «невидимого цензора»[13].
Используемый сленг
[править |править код]В 2008 году телекоммуникационный отделКоролевской почты Великобритании провел исследование[14] и обнаружил, что «404» на сленге стал синонимом слова «невежественный» вВеликобритании.Сленг-лексикограф Джонатон Грин высказал мнение, что «404», как сленговое название было обусловлено «влиянием технологий» в молодёжных компаниях, в то же время использование ограничивается Лондоном и рядом других городов[14].
«В честь» ошибки 404 была названа японская музыкальная группа404NOTFOUND, абаканская музыкальная группа ШУМ404, а также российский общественный интернет-проект поддержки гомосексуальных подростков «Дети-404».
Виджеты
[править |править код]Хотя многие сайты отправляют дополнительную информацию в сообщении об ошибке 404, такие как ссылка на главную страницу веб-сайта или форма поиска, есть гораздо более сложные реализации, которые стараются найти правильный адрес веб-страницы, которую запрашивал пользователь[6].
Примечания
[править |править код]- ↑The 5 most common HTTP errors according to Google . Дата обращения: 15 декабря 2011. Архивировано изоригинала 2 июня 2013 года.
- ↑126.1.1 Код статуса и поясняющая фраза . W3C. Дата обращения: 22 июня 2008. Архивировано изоригинала 17 февраля 2012 года.
- ↑Heng, Christopher. Что такое Favicon.ico и как создать иконку для своего вэб-сайта . thesitewizard.com (7 сентября 2008). Дата обращения: 23 февраля 2011. Архивировано изоригинала 8 февраля 2012 года.
- ↑Cole, Linda. Ошибка подлый "favicon.ico не найден" . Виртуальная библиотека вэб-разработчика. QuinStreet (3 августа 1999). Дата обращения: 25 февраля 2011. Архивировано изоригинала 17 февраля 2012 года.
- ↑Ошибка 404 (недоступная ссылка) // www.peugeot.ru
- ↑12Swenson, Sahala. Сделайте вашу страницу 404 более полезной . Official Google Webmaster Central Blog. Google, Inc (19 августа 2008). Дата обращения: 28 августа 2009. Архивировано изоригинала 17 февраля 2012 года.
- ↑Почему пауки постоянно запрашивают странные URL, которые никогда не существовали на моём сайте? Yahoo Web Crawler Help page. Дата обращения: 4 октября 2009. Архивировано изоригинала 17 февраля 2012 года.
- ↑Прощание с мягким 404s . Google Official Blog. Дата обращения: 20 сентября 2008. Архивировано изоригинала 17 февраля 2012 года.
- ↑LINX Public Affairs » Cleanfeed: факты . Publicaffairs.linx.net (10 сентября 2004). Дата обращения: 6 марта 2011. Архивировано изоригинала 13 мая 2011 года.
- ↑«DEMON — Error 403» (недоступная ссылка)
- ↑Sambandaraksa, Don (18 февраля 2009).The old fake '404 Not Found' routine.Бангкок Пост.Архивировано 4 декабря 2010. Дата обращения: 12 сентября 2010.
- ↑Noman, Helmi. Тунисский журналист подал в суд на правительство за блокировку Facebook, за нанесённый ущерб при использовании ошибки 404 вместо 403 . Open Net Initiative (12 сентября 2008). Дата обращения: 21 ноября 2010. Архивировано изоригинала 17 февраля 2012 года.
- ↑Движение против цензуры в Тунисе: творчество, мужество и надежда! Global Voices Advocacy (27 мая 2010). Дата обращения: 28 августа 2010. Архивировано изоригинала 17 февраля 2012 года.
- ↑12Не быть 404, знать техносленг.BBC News Online. 10 декабря 2008.Архивировано 15 февраля 2009. Дата обращения: 13 декабря 2008.
Ссылки
[править |править код]- RFC 2616 — Hypertext Transfer Protocol — HTTP/1.1Архивная копия от 7 марта 2011 наWayback Machine (англ.)
- RFC 7231 — Hypertext Transfer Protocol (HTTP/1.1): Semantics and ContentАрхивная копия от 25 мая 2017 наWayback Machine (англ.)
- 10.4.5 404 Not FoundАрхивная копия от 9 февраля 2019 наWayback Machine (англ.) — определениеКонсорциума Всемирной паутины
- Справка по ошибке HTTP 404 'Not Found'
- HTTP Error 404 — Microsoft SupportАрхивная копия от 27 февраля 2015 наWayback Machine