404

Not Found

Официальный сайт Коды подстатусов
Веб-сервер не смог найти запрошенный ресурс

Общее объяснение кода состояния 404

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

Спецификация кода состояния HTTP 404

Код состояния 404 Not Found указывает на то, что сервер происхождения не нашел текущего представления для целевого ресурса или не желает раскрывать его существование. Код состояния 404 Not Found не указывает, является ли это отсутствующее представление временным или постоянным; код состояния 410 (Ушел) предпочтительнее, чем 404 Not Found, если сервер происхождения знает, предположительно с помощью некоторых настраиваемых средств, что состояние, вероятно, будет постоянным. Ответ 404 Not Found кэшируется по умолчанию, т.е. если определение метода или явные элементы управления кэшем не указывают на обратное (см. раздел 4.2.2 [RFC7234]).

Источник / Цитаты из: Код состояния HTTP 404 Not Found определен разделом 6.5.4. из RFC7231.

Как вывести код состояния 404 с помощью PHP?

Чтобы бросить на веб-страницу код статуса HTTP 404, можно использовать PHP-функцию http_response_code. Синтаксис выглядит следующим образом: http_response_code(404) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Проверка кода состояния 404 HTTP

Чтобы иметь возможность отображать код состояния HTTP (в данном случае 404 Not Found) и другую информацию на стороне клиента, необходимо открыть консоль разработки с помощью F12. Затем перейдите на вкладку "Сеть". Теперь можно открыть страницу, сайт (пример index.php) должен быть виден на вкладке "Сеть". Его необходимо выбрать, а затем выбрать раздел Herder. После этого пользователь увидит следующий результат:

Код состояния 404 Not Found
Обзор
URL: https://http-statuscode.com/errorCodeExample.php?code=404
Статус: 404 Not Found
Эти: Network
IP-адрес: XX.XX.XX.XX
Код состояния 404 Not Found

Как решить проблему с кодом статуса 404?

Код статуса 404 Not Found может возникать по разным причинам. Некоторые из них тривиальны, другие более сложны. Наиболее вероятной причиной является неправильное написание URL-адреса или неправильная установка ссылки на внутреннюю страницу. Другая возможность заключается в том, что связанная страница была удалена с веб-сервера, а последующий код состояния, например 410 (Исчезла), не был установлен.

Но может быть и несколько более сложная картина ошибки. Если убедиться, что ни URL-адрес не указан неверно, ни ресурс не был удален, перенаправление из файла "htaccess" также может быть ошибочным. Неисправные перенаправления часто можно обнаружить с помощью веб-инструментов.

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

Как создать собственную страницу ошибок для кода состояния 404

Создать собственную страницу ошибки 404 Not Found относительно просто как на веб-серверах "Apache", так и на "NGINX".

Apache Webserver

Веб-сервер "Apache" является одним из самых распространенных веб-серверов в Интернете. Чтобы создать собственную страницу ошибки 404 Not Found в "Apache", необходимо внести следующее изменение в следующий файл.

File: .htaccess
ErrorDocument 404 /errors/404.html

NGINX Webserver

Подобно веб-серверу "Apache", "NGINX" также широко используется в Интернете. Чтобы создать собственную страницу ошибки 404 Not Found в "NGINX", необходимо внести следующее изменение в следующий файл.

File: sites-enabled/default
error_page 404 /404.html;
location = /404.html {
    root /usr/share/nginx/html;
    internal;
}

Совместимость кода состояния 404 с браузерами

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

Какие SEO-эффекты оказывает код состояния 404?

В мире поисковой оптимизации (SEO) код состояния 404 Not Found "Not Found" - это не просто сообщение об ошибке. Он оказывает реальное и ощутимое влияние на то, как поисковые системы воспринимают и оценивают сайт.

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

Частое появление 404 Not Found ошибок может быть воспринято поисковыми системами как показатель плохой структуры сайта или его обслуживания. Это, в свою очередь, может негативно сказаться на доверии поисковых систем к сайту. А в мире SEO доверие - это все. Сайт, которому поисковые системы доверяют, как правило, занимает более высокие позиции в результатах поиска.

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

Еще одной важной проблемой является потеря обратных ссылок из-за ошибок 404 Not Found. Обратные ссылки являются важнейшим фактором ранжирования, и если внешняя страница ссылается на URL-адрес, который выдает ошибку 404 Not Found, то такая ссылка уже не будет рассматриваться поисковыми системами как положительный фактор ранжирования.

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

Константы в языках программирования

HttpStatusCode.NotFound
http.StatusNotFound
response::HTTP_NOT_FOUND
httplib.NOT_FOUND
http.client.NOT_FOUND
http.HTTPStatus.NOT_FOUND
:not_found

Пример для "запроса клиента" и "ответа сервера" с кодом состояния HTTP 404

Client request:

GET /missingpage.php HTTP/1.1
Host: www.http-statuscode.com

Server response:

HTTP/1.1 404 Not Found
Content-Type: text/html

<html>
<head><title>404 Not Found</title></head>
<body>
<h1>Not Found</h1>
<p>The requested URL /missingpage.php was not found on this server.</p>
</body>
</html>

Коды подстатусов кода состояния 404

Коды субстатусов являются чисто техническими и никогда не должны отправляться пользователю. Например, если брошен код состояния 404.1, он может быть зарегистрирован, но код состояния 404 будет отправлен пользователю.:
404.0 Not found
HTTP IIS, Неофициальный
404.1 Site Not Found
HTTP IIS, Неофициальный
404.2 ISAPI or CGI restriction.
HTTP IIS, Неофициальный
404.3 MIME type restriction.
HTTP IIS, Неофициальный
404.4 No handler configured
HTTP IIS, Неофициальный
404.5 Denied by request filtering configuration
HTTP IIS, Неофициальный
404.6 Verb denied
HTTP IIS, Неофициальный
404.7 File extension denied
HTTP IIS, Неофициальный
404.8 Hidden namespace
HTTP IIS, Неофициальный
404.9 Files attribute hidden
HTTP IIS, Неофициальный
404.10 Request header too long
HTTP IIS, Неофициальный
404.11 Request contains double escape sequence
HTTP IIS, Неофициальный
404.12 Request contains high-bit characters
HTTP IIS, Неофициальный
404.13 Content length too large
HTTP IIS, Неофициальный
404.14 Request URL too long
HTTP IIS, Неофициальный
404.15 Query string too long
HTTP IIS, Неофициальный
404.16 DAV request sent to the static file handler
HTTP IIS, Неофициальный
404.17 Dynamic content mapped to the static file handler
HTTP IIS, Неофициальный
404.18 Querystring sequence denied
HTTP IIS, Неофициальный
404.19 Denied by filtering rule
HTP IIS, Неофициальный
404.20 Too Many URL Segments
HTTP IIS, Неофициальный
404.501 Too many requests from the same client IP; Dynamic IP Restriction Concurrent request rate limit reached
HTTP IIS, Неофициальный
404.502 Too many requests from the same client IP; Dynamic IP Restriction Maximum request rate limit reached
HTTP IIS, Неофициальный
404.503 the IP address is included in the Deny list of IP Restriction
HTTP ISS, Неофициальный
404.504 the host name is included in the Deny list of IP Restriction
HTTP IIS, Неофициальный

Внешние ссылки с дополнительной информацией о коде состояния HTTP 404:

Развлекательные мемы о коде статуса HTTP 404

Статьи в блогах

Коды состояния HTTP: Подробный анализ сообщений об ошибках 404 Not Found и 410 Gone

Коды состояния HTTP являются неотъемлемой частью протокола передачи гипертекста (Hypertext Transfer Protocol, HTTP), на основе которого осуществляется взаимодействие между веб-браузерами и веб-серв...

SEO и коды состояния HTTP: Всесторонний анализ

Оптимизация сайта для поисковых систем (SEO) - сложная задача. Одним из часто упускаемых из виду, но крайне важных для ранжирования аспектов являются коды статуса HTTP. Эти небольшие трехзначные ко...

Автор: Tony Brüser
Автор: Tony Brüser

Тони Брюсер - увлеченный веб-разработчик, склонный к изучению кодов состояния HTTP.

LinkedInGitHub