Технологии

Откуда взялось число 404 в ошибке 404 Not Found?

Число 404 в часто встречающемся в интернете коде ошибки «404 Not Found» — не случайно выбранная цифра, а часть группы 4xx протокола HTTP, классифицирующей ошибки клиента. Вопреки распространённому мифу о комнате в ЦЕРНе, код появился как стандартный статус-код, определённый в стандартах HTTP для ответа «Not Found».

Elias KorhonenElias Korhonen6 мин чтения
Поделиться
Откуда взялось число 404 в ошибке 404 Not Found?

Число 404 в предупреждении «404 Not Found», с которым часто сталкиваются пользователи, пытаясь открыть несуществующую страницу в интернете, — не случайно выбранная цифра. Согласно источнику, этот код возник как часть систематической структуры статус-кодов протокола HTTP и со временем стал узнаваемым символом интернет-культуры.

Пользователи обычно сталкиваются с этим кодом при вводе неправильного адреса, переходе по устаревшей ссылке или когда нужный контент был удалён. 404 настолько распространился, что многие компании начали добавлять на свои страницы ошибок специальный дизайн, игры и шутки.

Скриншот страницы ошибки 404 Not Found

Что на самом деле означает 404 Not Found?

Когда открывается интернет-адрес, браузер отправляет соответствующий запрос на сервер через HTTP. Сервер обрабатывает этот запрос и возвращает браузеру ответ, содержащий трёхзначный статус-код.

При успешном завершении операции обычно используется код 200. При перенаправлениях или проблемах на стороне сервера могут встречаться другие коды.

Код 404 означает ситуацию, когда клиент может достичь сервера, но сервер не может найти запрошенный ресурс. Поэтому при появлении 404 не следует думать, что интернет-соединение полностью прервано; сервер ответил, но запрошенная страница по этому адресу отсутствует.

Причиной может быть неправильно написанный URL. Страница, существовавшая ранее, могла быть удалена, ссылка изменена или контент перемещён на другой адрес.

Что означает первая цифра 4 в числе 404?

В статус-кодах HTTP цифры выбираются не произвольно; коды разделяются на определённые классы по первой цифре. Первая 4 в 404 указывает на группу статус-кодов, связанных с ошибками клиента.

Изображение, показывающее классификацию статус-кодов HTTP

В эту группу входят также другие коды, такие как 400 Bad Request, 401 Unauthorized, 403 Forbidden и 429 Too Many Requests. Разница между ними обусловлена типом проблемы.

В случае кода 403 сервер понимает запрос, но может не разрешать доступ к ресурсу. В случае 404 запрошенный ресурс не найден. Код 429 используется для указания на то, что за короткое время было отправлено слишком много запросов.

При проблемах на стороне сервера вступают в силу коды, начинающиеся с 5. 500 Internal Server Error и 503 Service Unavailable могут быть приведены в качестве примеров этой группы.

Следовательно, 404 рассматривается не как загадочное число, выбранное само по себе, а как часть систематической структуры статус-кодов HTTP.

Так почему был выбран именно 404?

На раннем этапе развития HTTP статус-коды были организованы для стандартизированного выражения различных результатов протокола. Диапазон 4xx был выделен для ошибочных ситуаций, связанных с клиентом, и внутри этой группы были определены коды с разными значениями.

Согласно источнику, в документе RFC 1945, опубликованном в 1996 году для HTTP/1.0, код 404 был чётко определён как статус-код «Not Found». В последующих стандартах HTTP код также продолжал использоваться.

Изображение, связанное с протоколом HTTP и статус-кодами

Для каждой цифры числа 404 здесь нет отдельного слова или скрытого значения. Первая цифра определяет общий класс кода, а остальные цифры обозначают определённый код внутри этого класса.

Аналогичную логику можно увидеть и в других кодах HTTP. Успешные ответы группируются в 2xx, перенаправления — в 3xx, ошибки клиента — в 4xx, ошибки сервера — в 5xx. Этот порядок позволяет разработчикам программно оценивать ответ сервера, не полагаясь только на текст сообщения.

Правдива ли история о комнате 404 в ЦЕРНе?

Согласно самой распространённой истории о 404, ходящей в интернете, команда, работавшая над World Wide Web, находилась в комнате номер 404 в ЦЕРНе. В разных версиях повествования утверждается, что веб-серверы располагались в этой комнате или что пользователи обращались в эту комнату, чтобы получить нужные файлы.

Изображение, связанное с историей ЦЕРНа и World Wide Web

Однако, согласно источнику, надёжных исторических доказательств, подтверждающих это утверждение, не существует. Хотя работы Тима Бернерса-Ли по разработке World Wide Web в ЦЕРНе находятся в центре зарождения HTTP, повествование о том, что код «404 Not Found» произошёл от комнаты номер 404 в ЦЕРНе, не подтверждается источниками по истории веба.

Более того, в разъяснениях ЦЕРНа, посвящённых этой истории, отмечается, что повествование о данной комнате является мифом.

Причина распространения подобных историй кажется понятной. Процессы создания технических стандартов могут показаться большинству пользователей скучными, тогда как загадочная комната и её номер, распространившийся по всему интернету, гораздо лучше запоминаются.

Как появились коды ошибок HTTP?

История HTTP уходит в первые годы существования World Wide Web. Тим Бернерс-Ли, работая в ЦЕРНе, трудился над информационной системой, в которой документы на разных компьютерах могли связываться друг с другом посредством ссылок.

Для работы веба было недостаточно только HTML и URL; также был необходим протокол, определяющий, как браузер и сервер будут взаимодействовать друг с другом. Эту задачу взял на себя HTTP.

Изображение, связанное с историей World Wide Web и HTTP

Первые версии HTTP были гораздо проще сегодняшнего протокола. По мере развития веба взаимодействие между браузером и сервером становилось более детальным, и возникла необходимость стандартизированно выражать, был ли запрос успешным, перенаправлен ли он на другой адрес или завершился неудачей.

Благодаря трёхзначной структуре программное обеспечение могло быстро интерпретировать результат. Коды, начинающиеся с 2, в целом обозначали класс успешных ответов, с 3 — перенаправления, с 4 — ошибочные ситуации, связанные с клиентом, а с 5 — ошибки сервера.

Эта система сохраняется и сегодня как одна из основных частей веба. Пользователи не видят большую часть этих кодов, поскольку браузер выполняет операции в фоновом режиме. Однако 404 уготована иная судьба; поскольку ситуация, когда запрошенная страница не найдена, напрямую отражается на пользователе, технический код протокола превратился в выражение, знакомое каждому.

Почему мы не видим 404 на каждой удалённой странице?

Когда интернет-страница больше не существует, не всегда встречается код 404. Причина в том, что веб-сайты могут использовать другие HTTP-коды для разных ситуаций.

Если контент перемещён на новый адрес, сервер может автоматически перенаправить пользователя на новую страницу. Для постоянных перенаправлений с этой целью используются такие коды, как 301, и поскольку браузер выполняет операцию автоматически, пользователь чаще всего не видит сам код.

Для ресурса, удалённого навсегда, также возможно использование кода 410 Gone. Разница с 404 тонкая, но значимая; 404 указывает, что сервер не может найти запрошенный ресурс, тогда как 410 более явно выражает, что ресурс, как известно, был удалён.

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

Кроме того, существует ситуация, называемая «soft 404». Страница может показывать пользователю сообщение «контент не найден», тогда как сервер технически возвращает ответ 200 OK. С точки зрения пользователя страницы нет, но с точки зрения HTTP запрос выглядит успешным. Эта ситуация также может влиять на то, как поисковые системы интерпретируют страницу.

То есть надпись «Страница не найдена» на экране и фактический возврат сервером кода HTTP 404 не всегда означают одно и то же.

Как 404 стал частью интернет-культуры?

HTTP содержит сотни различных статус-кодов, но обычному интернет-пользователю не нужно знать большую их часть. 404 в этом смысле выделяется как большое исключение.

Основная причина этого в том, что пользователи сталкиваются с этим кодом напрямую и часто. По мере роста интернет-сайтов ссылки меняются, старый контент удаляется, а неправильные адреса могут распространяться. В результате страницы 404 становятся одной из неизбежных частей веб-опыта.

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

Так выражение «404» вышло за пределы технического значения и даже превратилось в интернет-культуре в шутку, используемую для описания потерянного, ненайденного или отсутствующего.

Интересно, что за этим столь известным числом не стоит загадочная комната или забытая история из ЦЕРНа. Настоящая история 404 гораздо более техническая; код возник из потребности веба в упорядоченной и понятной машинам классификации различных результатов.

Поделиться

Вам может понравиться

Комментарии (0)

Войдите или зарегистрируйтесь, чтобы оставить комментарий.

Пока нет комментариев. Будьте первым!