404

Not Found

Ametlik Alamstaatuse koodid
Veebiserver ei suutnud soovitud ressurssi leida

Üldine selgitus 404 staatuskoodi kohta

Staatusekoodiga 404 Not Found ei suutnud server leida ressurssi määratud URL-i all. See teade on kõige tuntum veateade isegi mitte-tehniliste kasutajate seas, sest isegi suurtel veebisaitidel on jäigad lingistruktuurid ja 404 Not Found veateadet visatakse sagedamini.

HTTP staatuskoodi 404 täpsustamine

404 Not Found staatuskood näitab, et päritoluserver ei ole leidnud sihtressursi praegust esindust või ei soovi selle olemasolu avaldada. Staatusekood 404 Not Found ei näita, kas see puuduv esindus on ajutine või püsiv; staatusekoodi 410 (Gone) eelistatakse staatusekoodile 404 Not Found, kui päritoluserver teab, eeldatavasti mõne seadistatava vahendi abil, et seisund on tõenäoliselt püsiv. 404 Not Found-vastus on vaikimisi vahemällu salvestatav, st kui meetodi määratlus või selgesõnaline vahemälu kontroll ei näita teisiti (vt [RFC7234] punkt 4.2.2).

Allikas / Tsitaat: HTTP-kood 404 Not Found on määratletud jaotises 6.5.4. jaotises RFC7231.

Kuidas PHP-ga 404 staatuskoodi visata?

Veebilehel HTTP-koodi 404 kuvamiseks võib kasutada PHP-funktsiooni http_response_code. Süntaks on järgmine: http_response_code(404) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testige HTTP-koodi 404

Selleks, et kuvada HTTP staatuskoodi (antud juhul 404 Not Found) ja muud teavet kliendi poolel, tuleb arenduskonsool avada klahviga F12. Seejärel navigeerige vahekaardile "Network". Nüüd saab lehekülje avada, veebileht (näiteks index.php) peaks olema nähtav võrgu vahekaardil. See tuleb valida ja seejärel tuleb valida Herder sektsioon. Seejärel näeb kasutaja järgmist tulemust:

Staatuse kood 404 Not Found
Ülevaade
URL: https://http-statuscode.com/errorCodeExample.php?code=404
Staatus: 404 Not Found
Need: Network
IP-aadress: XX.XX.XX.XX
Staatuse kood 404 Not Found

Kuidas lahendada probleem 404 staatuskoodiga?

Statuskood 404 Not Found võib tekkida erinevatel põhjustel. Mõned on triviaalsed, teised on keerulisemad. Kõige tõenäolisem põhjus on see, et URL oli valesti kirjutatud või et link siseleheküljele oli valesti määratud. Teine võimalus on see, et lingitud lehekülg kustutati veebiserverist ja järelstaatuse koodi, näiteks 410 (kadunud), ei seatud.

Muude võib esineda ka mõnevõrra keerulisem veamuster. Kui on tagatud, et URL ei ole valesti kirjutatud ega ressurssi kustutatud, võib ka "htaccess"-faili ümbersuunamine olla vigane. Vigaseid ümbersuunamisi saab sageli tuvastada veebitööriistadega.

Viimase tõenäolise võimalusena võib kaaluda ka vahemälu probleemi. Kas probleem on juba serveri poolel lahendatud, kuid brauseri vahemälu ei lae lehte uuesti, vaid lokaalsest mälust või ei lae veebiserver ka jooksvat versiooni. Sellisel juhul tuleks vahemälu tühjendada nii kliendi kui ka serveri poolel.

Kuidas luua oma vealehekülg staatuskoodi 404 jaoks

Oma 404 Not Found vealehe loomine on nii "Apache" kui ka "NGINX" veebiserverite puhul suhteliselt lihtne.

Apache Webserver

Veebiserver "Apache" on üks levinumaid veebiservereid Internetis. Oma 404 Not Found vealehe loomiseks "Apache'is" tuleb teha järgmine muudatus järgmises failis.

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

NGINX Webserver

Sarnaselt veebiserverile "Apache" on ka "NGINX" internetis laialdaselt kasutusel. Oma 404 Not Found vealehe loomiseks "NGINXis" tuleb teha järgmine muudatus järgmises failis.

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

404 staatuskoodi brauserite ühilduvus

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

Millist SEO mõju avaldab 404 staatuskood?

Sotsingumootori optimeerimise (SEO) maailmas on 404 Not Found "Not Found" staatuskood rohkem kui lihtsalt veateade. Sellel on reaalne ja käegakatsutav mõju sellele, kuidas otsingumootorid veebilehte tajuvad ja hindavad.

Kui kasutaja või otsingumootori roomikprogramm üritab siseneda lehele, mida seal ei ole, ja tagastab seega 404 Not Found-vea, tõlgendavad otsingumootorid seda kui olematut lehte. Üksikud 404 Not Found-vead siin ja seal ei pruugi avaldada otsingumootorite edetabelile drastilist mõju. Selliste vigade kuhjumine võib aga anda otsingumootoritele märku, et veebisait ei ole hästi hooldatud või ajakohastatud.

Sagedast 404 Not Found-vea esinemist võivad otsingumootorid tajuda kui märki veebisaidi halvast struktuurist või hooldusest. See omakorda võib avaldada negatiivset mõju otsingumootori usaldusele veebisaidi vastu. Ja SEO-maailmas on usaldus kõik. Veebileht, mida otsingumootorid usaldavad, kipub otsingutulemustes paremini paiknema.

Kui eelnevalt mainitud, on igal veebisaidil ka roomamise eelarve. See viitab lehekülgede arvule, mida otsingumootori roomikprogramm teatud aja jooksul külastab. Liiga palju 404 Not Found-vigu võib kaasa tuua selle eelarve olulise osa raiskamise olematutele lehekülgedele. See tähendab, et uue või uuendatud sisu avastamine ja indekseerimine otsingumootorite poolt võib võtta kauem aega.

Teiseks oluliseks probleemiks on 404 Not Found-vigade tõttu kaotatud tagasiside. Tagasilinkid on oluline pingerea tegur ja kui väline lehekülg viitab URL-le, mis annab tagasi 404 Not Found-vea, ei loe otsingumootorid seda linki enam positiivseks pingerea teguriks.

Kokkuvõttes, kuigi 404 Not Found-vead võivad pealtnäha tunduda kahjutu, võivad need avaldada tõsist mõju veebisaidi otsingumootorite pingereale. Seetõttu on veebimeistri huvides neid vigu regulaarselt jälgida ja parandada, et veebileht säilitaks oma parima võimaliku positsiooni otsingutulemustes.

Konstandid programmeerimiskeeltes

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

Näide "Kliendipäringu" ja "Serveri vastuse" kohta HTTP staatuskoodiga 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>

Staatusekoodi 404 alamkoodid

Alamstaatusekoodid on puhtalt tehnilised ja neid ei tohiks kunagi kasutajale saata. Näiteks, kui kuvatakse staatuskood 404.1, võib seda logida, kuid kasutajale saadetakse staatuskood 404.:
404.0 Not found
HTTP IIS, Mitteametlik
404.1 Site Not Found
HTTP IIS, Mitteametlik
404.2 ISAPI or CGI restriction.
HTTP IIS, Mitteametlik
404.3 MIME type restriction.
HTTP IIS, Mitteametlik
404.4 No handler configured
HTTP IIS, Mitteametlik
404.5 Denied by request filtering configuration
HTTP IIS, Mitteametlik
404.6 Verb denied
HTTP IIS, Mitteametlik
404.7 File extension denied
HTTP IIS, Mitteametlik
404.8 Hidden namespace
HTTP IIS, Mitteametlik
404.9 Files attribute hidden
HTTP IIS, Mitteametlik
404.10 Request header too long
HTTP IIS, Mitteametlik
404.11 Request contains double escape sequence
HTTP IIS, Mitteametlik
404.12 Request contains high-bit characters
HTTP IIS, Mitteametlik
404.13 Content length too large
HTTP IIS, Mitteametlik
404.14 Request URL too long
HTTP IIS, Mitteametlik
404.15 Query string too long
HTTP IIS, Mitteametlik
404.16 DAV request sent to the static file handler
HTTP IIS, Mitteametlik
404.17 Dynamic content mapped to the static file handler
HTTP IIS, Mitteametlik
404.18 Querystring sequence denied
HTTP IIS, Mitteametlik
404.19 Denied by filtering rule
HTP IIS, Mitteametlik
404.20 Too Many URL Segments
HTTP IIS, Mitteametlik
404.501 Too many requests from the same client IP; Dynamic IP Restriction Concurrent request rate limit reached
HTTP IIS, Mitteametlik
404.502 Too many requests from the same client IP; Dynamic IP Restriction Maximum request rate limit reached
HTTP IIS, Mitteametlik
404.503 the IP address is included in the Deny list of IP Restriction
HTTP ISS, Mitteametlik
404.504 the host name is included in the Deny list of IP Restriction
HTTP IIS, Mitteametlik

Blogi artiklid

HTTP staatuskoodid: 404 Not Found ja 410 Gone: veateadete 404 Not Found ja 410 Gone üksikasjalik analüüs.

HTTP olekukoodid on oluline osa HTTP-protokollist (Hypertext Transfer Protocol), mis on aluseks veebilehitsejate ja veebiserverite vahelisele suhtlusele. Need võimaldavad märgistada HTTP päringu ja...

SEO ja HTTP staatuskoodid: Põhjalik analüüs

Websaidi optimeerimine otsingumootorite jaoks (SEO) on keeruline ettevõtmine. Üks sageli tähelepanuta jäetud, kuid hea järjestuse jaoks ülioluline aspekt on HTTP staatuskoodid. Need väikesed kolmek...

Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser on entusiastlik veebiarendaja, kellel on kalduvus HTTP staatuskoodide suhtes.

LinkedInGitHub