HTTP 404

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Мёртвая ссылка»)
Перейти к: навигация, поиск
HTTP
Постоянное соединение · Сжатие · HTTPS
Методы
OPTIONS · GET · HEAD · POST · PUT · DELETE · TRACE · CONNECT · PATCH
Заголовки
Cookie · ETag · Location · Referer
DNT · X-Forwarded-For
Коды состояния
301 Moved permanently
302 Found
303 See Other
403 Forbidden
404 Not Found

Ошибка 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 означает, что сам сервер был найден, но не смог найти запрашиваемую страницу.

Пользовательские страницы ошибок[править | править исходный текст]

скриншот страницы с ошибкой 404 на Википедии в браузере Camino

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

Однако, не следует отображать пользовательские страницы объёмом менее 512 байт, так как некоторые браузеры, к примеру, Internet Explorer или Google Chrome, вместо пришедшей информации отобразят свою страницу ошибки. Так же в случае если страница не предоставляет иконку (клиент обычно в автоматическом режиме запрашивает её), а ответ сервера включает в себя пользовательский вариант страницы, то это приведёт к дополнительному трафику и увеличению времени загрузки.[3][4]

Ложное использование ошибки 404[править | править исходный текст]

Некоторые веб-сайты вместо «не найдено» возвращают стандартную страницу с кодом «200 OK», это известно как мягкая ошибка 404. Мягкий 404 является проблемой для автоматизированных методов анализа работоспособности ссылки. Некоторые поисковые системы, такие как Yahoo, используют автоматизированные процессы для выявления мягких 404.[5] Мягкий 404 может произойти в результате ошибки конфигурации при использовании определенного серверного программного обеспечения. Например, в веб-сервере Apache, когда путь к файлу с ошибкой 404 (указанный в .htaccess) определяется как абсолютный (например, http://example.com/error.html), а не относительный (/error.html).[6]

Некоторые прокси-серверы генерируют ошибку 404, когда не находят хост, вместо того, чтобы вернуть код из диапазона 500-х ошибок. Это может сбить с толку программы, которые действуют на базе полученных ответов, ведь они уже не могут легко различить отсутствие веб-сервера и отсутствие веб-страницы на существующем веб-сервере.

В июле 2004 года телекоммуникационный провайдер Великобритании BT Group развернул систему блокировки контента Cleanfeed, которая возвращает ошибку 404 на любой запрос к информации, содержимое которой определено Internet Watch Foundation как потенциально незаконное.[7] Другие провайдеры в той же ситуации возвращают статус HTTP 403 «Запрещено».[8] Практика использования ложных ошибок 404 в качестве цензуры также были зарегистрированы в Таиланде[9] и Тунисе.[10] В Тунисе, где цензура, по слухам, особенно сильна, общественность даже создала персонаж по имени «Аммар 404», который представляет «невидимого цензора».[11]

Используемый сленг[править | править исходный текст]

В 2008 году телекоммуникационный отдел Пост офис провели исследование[12] и обнаружили, что «404» на сленге стал синонимом «невежественный» в Великобритании. Сленг-лексикограф Джонатон Грин высказал мнение, что «404», как сленговое название было обусловлено «влиянием технологий» в молодёжных компаниях, в то же время использование ограничивается Лондоном и рядом других городов.[12]

«В честь» ошибки 404 была названа японская музыкальная группа 404NOTFOUND.

Виджеты[править | править исходный текст]

Хотя многие сайты отправляют дополнительную информацию в сообщении об ошибке 404, такие как ссылка на главную страницу веб-сайта или форма поиска, есть гораздо более продвинутые реализации, которые стараются найти правильный адрес веб-страницы, которую запрашивал пользователь.[13]

Примечания[править | править исходный текст]

  1. The 5 most common HTTP errors according to Google
  2. 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. Почему пауки постоянно запрашивают странные URL, которые никогда не существовали на моём сайте?. Yahoo Web Crawler Help page. Проверено 4 октября 2009. Архивировано из первоисточника 17 февраля 2012.
  6. Прощание с мягким 404s. Google Official Blog. Проверено 20 сентября 2008. Архивировано из первоисточника 17 февраля 2012.
  7. LINX Public Affairs » Cleanfeed: факты. Publicaffairs.linx.net (10 сентября 2004). Проверено 6 март 2011.
  8. «DEMON — Error 403»
  9. Sambandaraksa, Don. The old fake '404 Not Found' routine (18 февраля 2009). Проверено 12 сентября 2010.
  10. Noman, Helmi Тунисский журналист подал в суд на правительство за блокировку Facebook, за нанесённый ущерб при использовании ошибки 404 вместо 403. Open Net Initiative (12 сентября 2008). Проверено 21 ноября 2010. Архивировано из первоисточника 17 февраля 2012.
  11. Движение против цензуры в Тунисе: творчество, мужество и надежда!. Global Voices Advocacy (27 мая 2010). Проверено 28 августа 2010. Архивировано из первоисточника 17 февраля 2012.
  12. 1 2 Не быть 404, знать техносленг, BBC News Online (10 декабря 2008). Проверено 13 декабря 2008.
  13. Swenson, Sahala Сделайте вашу страницу 404 более полезной. Official Google Webmaster Central Blog. Google, Inc (19 августа 2008). Проверено 28 августа 2009. Архивировано из первоисточника 17 февраля 2012.

Ссылки[править | править исходный текст]