HTTP 404 , 404 Not Found , 404 , 404 Ошибка , страница не найдена или файл не найден Сообщение об ошибке является Hypertext Transfer Protocol (HTTP) стандартный код ответа , в компьютерной сети связи, чтобы указать , что браузер был в состоянии общаться с данный сервер , но сервер не может найти то, что было запрошено. Ошибка также может использоваться, когда сервер не желает раскрывать, есть ли у него запрошенная информация. [1]
Сервер, на котором размещен веб-сайт, обычно создает веб-страницу «404 Not Found», когда пользователь пытается перейти по неработающей или неработающей ссылке ; следовательно, ошибка 404 - одна из самых узнаваемых ошибок, обнаруженных во всемирной паутине .
Обзор
При обмене данными через HTTP сервер должен отвечать на запрос, такой как запрос веб-браузера для веб-страницы , с числовым кодом ответа и необязательным, обязательным или запрещенным (в зависимости от кода состояния) сообщением. В коде 404 первая цифра указывает на ошибку клиента, такую как неверно введенный унифицированный указатель ресурса (URL). Следующие две цифры указывают на конкретную обнаруженную ошибку. Использование трехзначных кодов в HTTP аналогично использованию таких кодов в более ранних протоколах, таких как FTP и NNTP . На уровне HTTP за кодом ответа 404 следует удобочитаемая «фраза причины». Спецификация HTTP предлагает фразу «Not Found» [2], и многие веб-серверы по умолчанию выдают HTML-страницу, содержащую как код 404, так и фразу «Not Found».
Ошибка 404 часто возвращается, когда страницы были перемещены или удалены. В первом случае лучше использовать сопоставление URL- адресов или перенаправление URL-адресов , возвращая ответ 301 Moved Permanently, который можно настроить в большинстве файлов конфигурации сервера, или путем перезаписи URL-адресов ; во втором случае нужно вернуть 410 Gone. Поскольку эти два параметра требуют особой конфигурации сервера, большинство веб-сайтов их не используют.
Ошибки 404 не следует путать с ошибками DNS , которые появляются, когда данный URL-адрес ссылается на несуществующее имя сервера. Ошибка 404 означает, что сам сервер был найден, но ему не удалось получить запрошенную страницу.
Мягкие ошибки 404
Некоторые веб-сайты сообщают об ошибке «не найдено», возвращая стандартную веб-страницу с кодом ответа «200 OK», ложно сообщая, что страница загружена правильно; это известно как мягкий 404 . Термин «мягкий 404» был введен в 2004 г. Зивом Бар-Йосефом и др . [3]
Программные сообщения 404 проблематичны для автоматизированных методов определения того, не работает ли ссылка. Некоторые поисковые системы, такие как Yahoo и Google , используют автоматизированные процессы для обнаружения программных ошибок 404. [4] Программные ошибки 404 могут возникать в результате ошибок конфигурации при использовании определенного программного обеспечения HTTP-сервера, например, с программным обеспечением Apache , когда документ об ошибке 404 (указанный в файле .htaccess ) указан как абсолютный путь (например, http: //example.com/error.html), а не относительный путь (/error.html). [5] Это также можно сделать специально, чтобы заставить некоторые браузеры (например, Internet Explorer ) отображать настроенное сообщение об ошибке 404, а не заменять то, что обслуживается, "дружественным" сообщением об ошибке для конкретного браузера (в Internet Explorer такое поведение запускается, когда обслуживается 404 и полученный HTML короче определенной длины и может быть вручную отключен пользователем).
Существуют также «мягкие 3XX» ошибки, когда контент возвращается со статусом 200, но он поступает с перенаправленной страницы, например, когда отсутствующие страницы перенаправляются на корневую / домашнюю страницу домена.
Прокси-серверы
Некоторые прокси-серверы генерируют ошибку 404, когда более правильным будет код ошибки из 500 диапазонов . Если прокси-сервер не может удовлетворить запрос страницы из-за проблемы с удаленным хостом (например, сбои при разрешении имени хоста или отказ в TCP-соединениях), это следует описать как внутреннюю ошибку сервера 5xx, но вместо этого может выдать ошибку 404 . Это может сбить с толку программы, которые ожидают и действуют в соответствии с конкретными ответами, поскольку они больше не могут легко отличить отсутствующий веб-сервер от отсутствующей веб-страницы на существующем веб-сервере.
Преднамеренные 404-е
В июле 2004 года британский оператор связи BT Group развернул систему блокировки контента Cleanfeed , которая возвращает ошибку 404 на любой запрос контента, который был определен Internet Watch Foundation как потенциально незаконный . [6] Другие интернет-провайдеры возвращают ошибку HTTP 403 «запрещено» при тех же обстоятельствах. [7] О практике использования фальшивых ошибок 404 как средства сокрытия цензуры также сообщалось в Таиланде [8] и Тунисе . [9] В Тунисе, где цензура была жесткой до революции 2011 года , люди узнали о природе фальшивых ошибок 404 и создали воображаемого персонажа по имени « Аммар 404 », который представляет «невидимого цензора». [10]
Коды ошибок подсистемы Microsoft Internet Server 404
Программное обеспечение веб-сервера, разработанное Microsoft, Microsoft's Internet Information Services (IIS), возвращает набор кодов подстатуса со своими 404 ответами. Коды подстатуса представляют собой десятичные числа, добавленные к коду состояния 404. Коды подстатуса официально не признаются IANA и не возвращаются серверами сторонних производителей.
Коды подстатуса
Серверы Microsoft IIS 7.0, IIS 7.5 и IIS 8.0 определяют следующие коды подстатуса HTTP, чтобы указать более конкретную причину ошибки 404:
- 404.0 - Не найдено.
- 404.1 - Сайт не найден.
- 404.2 - ограничение ISAPI или CGI .
- 404.3 - ограничение типа MIME .
- 404.4 - Обработчик не настроен.
- 404.5 - Запрещено настройкой фильтрации запросов.
- 404.6 - Глагол отклонен.
- 404.7 - Расширение файла запрещено.
- 404.8 - Скрытое пространство имен.
- 404.9 - Атрибут файла скрыт.
- 404.10 - Заголовок запроса слишком длинный.
- 404.11 - Запрос содержит двойную escape-последовательность.
- 404.12 - Запрос содержит символы старшего разряда.
- 404.13 - Слишком большая длина содержимого.
- 404.14 - URL-адрес запроса слишком длинный.
- 404.15 - Слишком длинная строка запроса.
- 404.16 - запрос DAV отправлен обработчику статического файла.
- 404.17 - Динамическое содержимое, сопоставленное статическому обработчику файлов с помощью сопоставления MIME с подстановочными знаками.
- 404.18 - последовательность строки запроса отклонена.
- 404.19 - Запрещено правилом фильтрации.
- 404.20 - слишком много сегментов URL.
Пользовательские страницы ошибок
Веб-серверы обычно можно настроить для отображения настраиваемой страницы ошибки 404, включая более естественное описание, брендинг родительского сайта, а иногда и карту сайта, форму поиска или виджет на 404 страницы. Фраза уровня протокола, которая скрыта от пользователя, редко изменяется. Internet Explorer , однако, не будет отображать настраиваемые страницы, если они не превышают 512 байт, вместо этого выбирая отображение «удобной» страницы ошибок. [11] Google Chrome включает аналогичные функции, где 404 заменяется альтернативными предложениями, сгенерированными алгоритмами Google, если размер страницы меньше 512 байт. [ необходима цитата ] Другая проблема заключается в том, что если на странице нет значка , а существует отдельная настраиваемая страница 404, дополнительный трафик и более длительное время загрузки будут генерироваться при каждом просмотре страницы. [12] [13]
Многие организации используют страницы с ошибками 404 как возможность добавить юмора к тому, что в противном случае могло бы быть серьезным веб-сайтом. Например, Metro UK показывает белого медведя на скейтборде, а у агентства веб-разработки Left Logic есть простая программа для рисования. [14] Во время всеобщей избирательной кампании в Великобритании в 2015 году все основные политические партии использовали свои 404 страницы, чтобы либо нацелиться на политических оппонентов, либо продемонстрировать соответствующую политику потенциальным сторонникам. [15] В Европе проект NotFound , созданный несколькими европейскими организациями, включая Missing Children Europe и Child Focus , побуждает операторов сайтов добавлять фрагменты кода для обслуживания настроенных страниц с ошибками 404 [16], которые предоставляют данные о пропавших детях . [17]
Хотя многие веб-сайты отправляют дополнительную информацию в сообщении об ошибке 404, например ссылку на домашнюю страницу веб-сайта или окно поиска, некоторые также пытаются найти правильную веб-страницу, которую хотел пользователь. Для этого доступны расширения для некоторых систем управления контентом (CMS). [18]
Отслеживание ошибок 404
Существует ряд инструментов, которые просматривают веб-сайт в поисках страниц, возвращающих коды статуса 404. Эти инструменты могут быть полезны при поиске ссылок, существующих на определенном веб-сайте. Ограничение этих инструментов состоит в том, что они находят ссылки только на одном конкретном веб-сайте и игнорируют ошибки 404, полученные по ссылкам на других веб-сайтах. В результате эти инструменты пропускают 83% ошибок 404 на веб-сайтах. [19] Один из способов обойти это - найти ошибку 404 путем анализа внешних ссылок. [20]
Один из наиболее эффективных способов обнаружения ошибок 404 - использование Google Search Console , Google Analytics или программного обеспечения для сканирования.
Другой распространенный метод - отслеживание трафика на 404 страницы с помощью анализа файла журнала. [21] Это может быть полезно, чтобы узнать больше о том, что 404-е пользователи достигли на сайте. Другой метод отслеживания трафика на страницы 404 - использование инструментов отслеживания трафика на основе JavaScript. [22]
Смотрите также
- Синий экран смерти
- Веселое кеширование
- Ссылка гниль
- Список кодов состояния HTTP
Рекомендации
- ^ «RFC 7231, HTTP / 1.1 Семантика и контент, раздел 6.5.4 404 не найден» . ietf.org. Июнь 2014 . Проверено 13 декабря 2018 .
- ^ «RFC 7231, HTTP / 1.1 Семантика и контент, раздел 6.5.4 404 не найден» . ietf.org. Июнь 2014 . Проверено 13 декабря 2018 .
- ^ Зив Бар-Йосеф; Андрей З. Бродер; Рави Кумар; Эндрю Томпкинс (2004). Sic Transit Gloria Telae: к пониманию разложения Интернета . Материалы 13-й Международной конференции по всемирной паутине (WWW) . С. 328–337. DOI : 10.1145 / 988672.988716 . ISBN 978-1581138443.
- ^ "Почему ваш сканер запрашивает странные URL-адреса, которых никогда не было на моем сайте?" . Справочная страница Yahoo Ysearch. Архивировано из оригинала 15 июля 2014 года . Проверено 4 сентября 2013 года .
- ^ «Прощай, мягкие 404-е» . Официальный блог Google . Проверено 20 сентября 2008 года .
- ^ «LINX Public Affairs» Cleanfeed: факты » . Publicaffairs.linx.net. 10 сентября 2004 года Архивировано из оригинала 13 мая 2011 года . Проверено 6 марта 2011 года .
- ^ «ДЕМОН - Ошибка 403» . Проверено 14 июня 2012 года .
- ^ Самбандаракса, Дон (18 февраля 2009 г.). «Старая поддельная процедура« 404 Not Found »- Мертвая ссылка» . Почта Бангкока . Проверено 12 сентября 2010 года .
- ^ Номан, Хельми (12 сентября 2008 г.). «Тунисский журналист подает в суд на правительственное агентство за блокировку Facebook, заявляет о возмещении ущерба из-за использования сообщения об ошибке 404 вместо 403» . Инициатива Open Net . Проверено 21 ноября 2010 года .
- ^ «Движение против цензуры в Тунисе: творчество, смелость и надежда!» . Global Voices Advocacy. 27 мая 2010 . Проверено 28 августа 2010 года .
- ^ «Дружественные страницы ошибок HTTP» . msdn.com. 18 августа 2010 года Архивировано из оригинала 2 декабря 2010 года . Проверено 14 июня 2012 года .
- ^ Хенг, Кристофер (7 сентября 2008 г.). «Что такое Favicon.ico и как создать значок Favicon для вашего веб-сайта» . Мастер сайта . Проверено 23 февраля 2011 года .
- ^ «Подлый» favicon.ico не нашел «Ошибка» . Интернет-люди . 3 августа 1999 г.
- ^ «От скейтбордистов до пропавших без вести детей: сила страницы с ошибкой 404 Not Found» . Метро. 6 июня 2011 . Проверено 16 апреля 2013 года .
- ^ «Политическая война» . BBC Newsbeat . 27 апреля 2015 . Проверено 18 мая 2018 .
- ^ "Notfound.org" . не найдено . не найден. Архивировано из оригинального 2 -го сентября 2014 года.
- ^ «Сообщения об отсутствии детей попадают на страницы с ошибками 404» . BBC News . 27 сентября 2012 . Проверено 20 сентября 2014 года .
- ^ Свенсон, Сахала (19 августа 2008 г.). «Сделайте свои 404 страницы более полезными» . Официальный блог Центра веб-мастеров Google . Google, Inc . Проверено 28 августа 2009 года .
- ^ «Источники, ведущие к 404-м годам» . SpringTrax . Проверено 11 февраля 2013 года .
- ^ Кушинг, Энн (2 апреля 2013 г.). «Подход, ориентированный на данные, чтобы определить 404 страницы, которые стоит экономить» . Земля поисковой машины . Проверено 7 июня 2013 года .
- ^ «Отслеживание и предотвращение ошибок 404» . 404errorpages.com . Проверено 7 июня 2013 года .
- ^ «Понять ошибку 404» . SpringTrax.com . Проверено 7 июня 2013 года .
Внешние ссылки
- Более полезный 404
- 404 не найден в протокол передачи гипертекста (HTTP / 1.1): Семантика и содержания спецификации, в Engineering Task Force Интернет
- Директива ErrorDocument - инструкции по настраиваемым страницам ошибок для веб-сервера Apache 2.0
- 404: Not Found - отмеченная наградами песня о коде ошибки