Ошибка 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 означает, что сам сервер был найден, но не смог найти запрашиваемую страницу.
Пользовательские страницы ошибокПравить
Веб-сервер обычно может быть настроен на отображение страницы ошибки с более понятным описанием, она может быть оформлена в стиле родительского сайта или включать форму поиска. Фразу идущую на уровне протокола, скрытую от пользователя, редко изменяют.
Однако, не следует отображать пользовательские страницы объёмом менее 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] Другие провайдеры в той же ситуации возвращают статус HTTP 403 «Запрещено».[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 года.
- ↑ 1 2 6.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
- ↑ 1 2 Swenson, 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. The old fake '404 Not Found' routine (18 февраля 2009). Дата обращения: 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 года.
- ↑ 1 2 Не быть 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