В компьютерных сетевых соединениях сообщения об ошибках HTTP 404 , 404 не найден , 404 , 404 , страница не найдена или файл не найден — это стандартный код ответа протокола передачи гипертекста (HTTP) , указывающий, что браузер смог связаться с данный сервер , но сервер не смог найти то, что было запрошено. Ошибка также может использоваться, когда сервер не желает раскрывать, есть ли у него запрошенная информация. [1]
Сервер хостинга веб-сайта обычно генерирует веб-страницу «404 не найдено», когда пользователь пытается перейти по неработающей или неработающей ссылке ; следовательно, ошибка 404 является одной из наиболее узнаваемых ошибок, встречающихся во Всемирной паутине .
При обмене данными через HTTP сервер должен ответить на запрос, например запрос веб-браузера на веб-страницу , с числовым кодом ответа и необязательным, обязательным или запрещенным (в зависимости от кода состояния) сообщением. В коде 404 первая цифра указывает на ошибку клиента, например, на неправильно введенный унифицированный указатель ресурса (URL). Следующие две цифры указывают на конкретную возникшую ошибку. Использование трехзначных кодов в HTTP аналогично использованию таких кодов в более ранних протоколах, таких как FTP и NNTP . На уровне HTTP за кодом ответа 404 следует удобочитаемая «причинная фраза». Спецификация HTTP предполагает фразу «Не найден» [1] , и многие веб-серверы по умолчанию выдают HTML-страницу, которая включает в себя как код 404, так и фразу «Не найден».
Ошибка 404 часто возвращается при перемещении или удалении страниц. В первом случае лучше использовать сопоставление URL-адресов или перенаправление URL-адресов , возвращая ответ 301 Moved Permanently, который можно настроить в большинстве файлов конфигурации сервера, или посредством перезаписи URL-адресов ; во втором случае должно быть возвращено 410 Gone. Поскольку эти два варианта требуют специальной настройки сервера, большинство веб-сайтов их не используют.
Ошибки 404 не следует путать с ошибками DNS , которые появляются, когда данный URL-адрес ссылается на несуществующее имя сервера. Ошибка 404 означает, что сам сервер был найден, но серверу не удалось получить запрошенную страницу.
Происхождение кода ошибки 404 восходит к заре Всемирной паутины. В 1992 году Тим Бернерс-Ли , изобретатель Интернета, и его команда из ЦЕРН , Европейской организации ядерных исследований, создали первое программное обеспечение веб-сервера, получившее название CERN httpd. [2] Это программное обеспечение использовало простую файловую систему для хранения и извлечения веб-страниц и присваивало трехзначный номер каждому типу запроса и ответа. Число 404 было выбрано для обозначения того, что запрошенный файл не найден на сервере. [3]
Термин «404 Not Found» был придуман самим Бернерсом-Ли, который объяснил в интервью 1998 года, что хотел сделать сообщение об ошибке «слегка извиняющимся». [4] [3] Он также сказал, что рассматривал возможность использования вместо этого «400 Bad Request», но решил, что это слишком расплывчато и технически. [4] [3]
Первый задокументированный случай появления ошибки 404 на веб-странице произошел в 1993 году, когда пользователь пытался получить доступ к странице веб-браузера Mosaic на веб-сайте NCSA. Страница была перенесена в другое место, но ссылка не обновилась. [2] Пользователь сообщил об ошибке команде NCSA, которая исправила ссылку и добавила юмористическое сообщение на свою страницу 404: «К сожалению, запрошенного вами документа здесь нет. Возможно, вам стоит попробовать где-нибудь еще». [3]
С тех пор ошибка 404 стала одной из самых распространенных и узнаваемых ошибок в Интернете. Многие веб-сайты снабдили свои страницы 404 креативным дизайном, сообщениями или функциями, чтобы развлечь или помочь своим посетителям. Например, на странице 404 Google изображен сломанный робот и ссылка на его домашнюю страницу [5], а на странице 404 GitHub показано случайное изображение поля звезды параллакса и ссылка на страницу его статуса. [6] Некоторые веб-сайты также использовали свои страницы 404 для демонстрации индивидуальности своего бренда, юмора или социальных целей. Например, на странице Lego 404 изображена минифигурка Эммета Lego вместе с юмористическим сообщением, [7] на Amazon показано изображение собаки, [8] на странице Peugeot показано изображение модели 404 , [9] и на странице RTÉ . образ Боско . [10] [11]
Некоторые веб-сайты сообщают об ошибке «не найдено», возвращая стандартную веб-страницу с кодом ответа «200 ОК», ложно сообщая, что страница загружена правильно; это известно как мягкая ошибка 404 . Термин «мягкий 404» был введен в 2004 году Зивом Бар-Йосефом и др . [12]
Мягкие ошибки 404 проблематичны для автоматизированных методов определения неработающей ссылки. Некоторые поисковые системы, такие как Yahoo и Google , используют автоматизированные процессы для обнаружения программных ошибок 404. [13] Мягкие ошибки 404 могут возникать в результате ошибок конфигурации при использовании определенного программного обеспечения HTTP-сервера, например программного обеспечения Apache , когда в документе об ошибке 404 (указанном в файле .htaccess ) указан абсолютный путь (например, http: //example.com/error.html), а не относительный путь (/error.html). [14] Это также можно сделать намеренно, чтобы заставить некоторые браузеры (например, Internet Explorer ) отображать настроенное сообщение об ошибке 404, а не заменять то, что подается, «дружественным» сообщением об ошибке, специфичным для браузера (в Internet Explorer такое поведение срабатывает, когда обслуживается ошибка 404, а полученный HTML-код короче определенной длины и может быть отключен пользователем вручную).
Существуют также «мягкие» ошибки 3XX, когда контент возвращается со статусом 200, но поступает с перенаправленной страницы, например, когда отсутствующие страницы перенаправляются на корневую/домашнюю страницу домена.
Некоторые прокси-серверы генерируют ошибку 404, хотя код ошибки в диапазоне 500 был бы более правильным. Если прокси-сервер не может удовлетворить запрос страницы из-за проблемы с удаленным хостом (например, сбои разрешения имени хоста или отказ в TCP-соединениях), это следует описывать как внутреннюю ошибку сервера 5xx, но вместо этого может выдаваться ошибка 404. . Это может сбить с толку программы, которые ожидают определенных ответов и действуют в соответствии с ними, поскольку они больше не могут легко отличить отсутствующий веб-сервер от отсутствующей веб-страницы на существующем веб-сервере.
В июле 2004 года британский телекоммуникационный провайдер BT Group развернул систему блокировки контента Cleanfeed , которая возвращает ошибку 404 на любой запрос на контент, определенный Internet Watch Foundation как потенциально незаконный . [15] Другие интернет-провайдеры возвращают «запрещенную» ошибку HTTP 403 в тех же обстоятельствах. [16] Практика использования ложных ошибок 404 в качестве средства сокрытия цензуры также известна в Таиланде [17] и Тунисе . [18] В Тунисе, где до революции 2011 года цензура была жесткой , люди узнали о природе фальшивых ошибок 404 и создали воображаемого персонажа по имени « Аммар 404 », который представляет собой «невидимого цензора». [19]
Программное обеспечение веб-сервера Microsoft Internet Information Services (IIS) , разработанное Microsoft , возвращает набор кодов подстатуса в ответах 404. Коды подстатуса имеют форму десятичных чисел, добавляемых к коду состояния 404. Коды подстатуса официально не признаются IANA и не возвращаются серверами сторонних производителей.
Серверы Microsoft IIS 7.0, IIS 7.5 и IIS 8.0 определяют следующие коды подстатуса HTTP, чтобы указать более конкретную причину ошибки 404:
Веб-серверы обычно можно настроить для отображения настроенной страницы ошибки 404, включая более естественное описание, фирменный стиль родительского сайта, а иногда и карту сайта, форму поиска или виджет на странице 404. Фраза уровня протокола, скрытая от пользователя, редко настраивается. Internet Explorer , однако, не будет отображать пользовательские страницы, если их размер не превышает 512 байт, предпочитая вместо этого отображать «дружественную» страницу с ошибкой. [20] Google Chrome включает аналогичную функциональность: ошибка 404 заменяется альтернативными предложениями, сгенерированными алгоритмами Google, если размер страницы меньше 512 байт. [21] Другая проблема заключается в том, что если на странице нет значка и существует отдельная пользовательская страница 404, при каждом просмотре страницы будет генерироваться дополнительный трафик и увеличиваться время загрузки. [22] [23]
Многие организации используют страницы ошибок 404 как возможность привнести юмор в то, что в противном случае могло бы быть серьезным веб-сайтом. Например, Metro UK показывает белого медведя на скейтборде, а у агентства веб-разработки Left Logic есть простая программа для рисования. [24] Во время всеобщей избирательной кампании в Великобритании в 2015 году все основные политические партии использовали свои 404 страницы, чтобы либо нацелиться на политических оппонентов, либо продемонстрировать соответствующую политику потенциальным сторонникам. [25] В Европе проект NotFound , созданный несколькими европейскими организациями, включая Missing Children Europe и Child Focus , призывает операторов сайтов добавлять фрагмент кода для обслуживания персонализированных страниц ошибок 404 [26] , которые предоставляют данные о пропавших детях . [27]
Хотя многие веб-сайты отправляют дополнительную информацию в сообщении об ошибке 404, например ссылку на домашнюю страницу веб-сайта или окно поиска, некоторые также пытаются найти нужную веб-страницу, которую хотел пользователь. Для этого доступны расширения для некоторых систем управления контентом (CMS). [28]
Существует ряд инструментов, которые сканируют веб-сайт в поисках страниц, возвращающих коды состояния 404. Эти инструменты могут быть полезны при поиске ссылок, существующих на определенном веб-сайте. Ограничением этих инструментов является то, что они находят ссылки только внутри одного конкретного веб-сайта и игнорируют ошибки 404, возникающие в результате ссылок на других веб-сайтах. В результате эти инструменты пропускают 83% ошибок 404 на веб-сайтах. [29] Один из способов обойти эту проблему — найти ошибку 404 путем анализа внешних ссылок. [30]
Один из наиболее эффективных способов обнаружить ошибки 404 — использовать консоль поиска Google , Google Analytics или программное обеспечение для сканирования.
Другой распространенный метод — отслеживание трафика на страницах 404 с использованием анализа файла журнала. [31] Это может быть полезно, чтобы лучше понять, чего достигли пользователи с ошибкой 404 на сайте. Другой метод отслеживания трафика на страницы 404 — использование инструментов отслеживания трафика на основе JavaScript. [32]
Существует множество возможных причин отсутствия страницы. Вот некоторые из распространенных: [33] [34] [35]
Если пользователь сталкивается с несуществующей страницей, он может предпринять некоторые шаги, чтобы попытаться найти нужную информацию или сообщить о проблеме. [33] [34] [35]
{{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite web}}
: Cite использует общий заголовок ( справка ){{cite web}}
: Cite использует общий заголовок ( справка )