404
Not Found
Общо обяснение на код на състоянието 404
Кодът на състоянието 404 Not Found означава, че сървърът не е успял да намери ресурс под посочения URL адрес. Това съобщение е най-известното съобщение за грешка дори сред нетехническите потребители, тъй като дори големите уебсайтове имат строги структури от връзки и съобщението за грешка 404 Not Found се хвърля по-често.
Спецификация на HTTP код на състоянието 404
Източник / Цитат от: Кодът на състоянието 404 Not Found на HTTP е определен в раздел 6.5.4. на RFC7231.
Протокол HTTP
Как да изхвърлим код на състоянието 404 с PHP?
За изхвърляне на HTTP статус код 404 на уеб страница може да се използва функцията http_response_code на PHP. Синтаксисът е следният: http_response_code(404) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
Тестване на код 404 на състоянието HTTP
За да можете да показвате кода на състоянието на HTTP (в този случай 404 Not Found) и друга информация от страна на клиента, конзолата за разработка трябва да се отвори с F12. След това преминете към раздела "Мрежа". Сега страницата може да бъде отворена, като уебсайтът (пример index.php) трябва да се вижда в раздела "Мрежа". Той трябва да бъде избран и след това трябва да се избере разделът Herder. След това потребителят ще види следния резултат:
URL: https://http-statuscode.com/errorCodeExample.php?code=404
Статус: 404 Not Found
Тези: Network
IP адрес: XX.XX.XX.XX
Как да разреша проблема със статус код 404?
Код на състоянието 404 Not Found може да се появи по различни причини. Някои от тях са тривиални, други са по-сложни. Най-вероятната причина е, че URL адресът е бил погрешно изписан или връзката към вътрешна страница е била зададена неправилно. Друга възможност е свързаната страница да е била изтрита от уеб сървъра и да не е бил зададен последващ код на състоянието, например 410 (изчезнал).
Но може да има и малко по-сложен модел на грешка. Ако е сигурно, че нито URL адресът е изписан погрешно, нито ресурсът е бил изтрит, пренасочването от файла "htaccess" също може да е погрешно. Дефектните пренасочвания често могат да бъдат открити с уеб инструменти.
Като последна вероятна възможност може да се разгледа и проблем с кеширането. Или проблемът вече е решен от страна на сървъра, но кешът на браузъра не презарежда страницата, а от локалната памет, или уеб сървърът също не зарежда актуалната версия. В този случай кешът трябва да бъде изчистен както от страна на клиента, така и от страна на сървъра.
Как да създадете собствена страница за грешка с код на състоянието 404
Apache Webserver
Уеб сървърът "Apache" е един от най-разпространените уеб сървъри в интернет. За да създадете своя собствена страница за грешка 404 Not Found в "Apache", трябва да се направи следната промяна в следния файл.
NGINX Webserver
Подобно на уеб сървъра "Apache", "NGINX" също се използва широко в интернет. За да създадете своя собствена страница за грешка 404 Not Found в "NGINX", трябва да се направи следната промяна в следния файл.
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 "Не е намерен" е нещо повече от обикновено съобщение за грешка. Той има реално и осезаемо въздействие върху начина, по който търсачките възприемат и оценяват даден уебсайт.
Когато потребител или търсачка се опита да получи достъп до страница, която не съществува, и по този начин върне грешка 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:
Host: www.http-statuscode.com
Server response:
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.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 са съществена част от протокола за трансфер на хипертекст (HTTP), който е в основата на комуникацията между уеб браузърите и уеб сървърите. Те позволяват да се маркира...
SEO и кодове на състоянието на HTTP: Изчерпателен анализ
Оптимизирането на уебсайта за търсачките (SEO) е сложно начинание. Един от често пренебрегваните, но решаващи аспекти за доброто класиране са HTTP кодовете за статус. Тези малки, трицифрени кодове ...