Ошибка 404

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
(перенаправлено с «HTTP 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 означает, что сам сервер был найден, но не смог найти запрашиваемую страницу.

Пользовательские страницы ошибок

Веб-сервер обычно может быть настроен на отображение страницы ошибки с более понятным описанием, она может быть оформлена в стиле родительского сайта или включать форму поиска. Фразу идущую на уровне протокола, скрытую от пользователя, редко изменяют.

Однако, не следует отображать пользовательские страницы объёмом менее 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, такие как ссылка на главную страницу веб-сайта или форма поиска, есть гораздо более сложные реализации, которые стараются найти правильный адрес веб-страницы, которую запрашивал пользователь.[6]

Примечания

  1. The 5 most common HTTP errors according to Google (недоступная ссылка). Дата обращения: 15 декабря 2011. Архивировано 2 июня 2013 года.
  2. 2,0 2,1 6.1.1 Код статуса и поясняющая фраза (недоступная ссылка). W3C. Дата обращения: 22 июня 2008. Архивировано 17 февраля 2012 года.
  3. Heng, Christopher Что такое Favicon.ico и как создать иконку для своего вэб-сайта (недоступная ссылка). thesitewizard.com (7 сентября 2008). Дата обращения: 23 февраля 2011. Архивировано 8 февраля 2012 года.
  4. Cole, Linda Ошибка подлый "favicon.ico не найден" (недоступная ссылка). Виртуальная библиотека вэб-разработчика. QuinStreet (3 август 1999). Дата обращения: 25 февраля 2011. Архивировано 17 февраля 2012 года.
  5. Ошибка 404 // www.peugeot.ru
  6. 6,0 6,1 Swenson, Sahala Сделайте вашу страницу 404 более полезной (недоступная ссылка). Official Google Webmaster Central Blog. Google, Inc (19 августа 2008). Дата обращения: 28 августа 2009. Архивировано 17 февраля 2012 года.
  7. Почему пауки постоянно запрашивают странные URL, которые никогда не существовали на моём сайте? (недоступная ссылка). Yahoo Web Crawler Help page. Дата обращения: 4 октября 2009. Архивировано 17 февраля 2012 года.
  8. Прощание с мягким 404s (недоступная ссылка). Google Official Blog. Дата обращения: 20 сентября 2008. Архивировано 17 февраля 2012 года.
  9. LINX Public Affairs » Cleanfeed: факты (недоступная ссылка). Publicaffairs.linx.net (10 сентября 2004). Дата обращения: 6 март 2011. Архивировано 13 мая 2011 года.
  10. «DEMON — Error 403» (недоступная ссылка)
  11. Sambandaraksa, Don. The old fake '404 Not Found' routine (18 февраля 2009). Дата обращения 12 сентября 2010.
  12. Noman, Helmi Тунисский журналист подал в суд на правительство за блокировку Facebook, за нанесённый ущерб при использовании ошибки 404 вместо 403 (недоступная ссылка). Open Net Initiative (12 сентября 2008). Дата обращения: 21 ноября 2010. Архивировано 17 февраля 2012 года.
  13. Движение против цензуры в Тунисе: творчество, мужество и надежда! (недоступная ссылка). Global Voices Advocacy (27 мая 2010). Дата обращения: 28 августа 2010. Архивировано 17 февраля 2012 года.
  14. 14,0 14,1 Не быть 404, знать техносленг, BBC News Online (10 декабря 2008). Архивировано 15 февраля 2009 года. Дата обращения 13 декабря 2008.

Ссылки