404

Not Found

Ufficiale Codici di sotto-stato
Il server web non ha trovato la risorsa richiesta

Spiegazione generale del codice di stato 404

Con il codice di stato 404 Not Found, il server non è riuscito a trovare una risorsa nell'URL specificato. Questo è il messaggio di errore più conosciuto anche dagli utenti non tecnici, poiché anche i siti web di grandi dimensioni hanno strutture di collegamenti rigide e un messaggio di errore 404 Not Found viene lanciato più spesso.

Specifica del codice di stato HTTP 404

Il codice di stato 404 Not Found indica che il server di origine non ha trovato una rappresentazione corrente per la risorsa di destinazione o non è disposto a rivelarne l'esistenza. Il codice di stato 404 Not Found non indica se la rappresentazione mancante sia temporanea o permanente; il codice di stato 410 (Gone) è preferito al 404 Not Found se il server di origine sa, presumibilmente con qualche mezzo configurabile, che la condizione è probabilmente permanente. Una risposta 404 Not Found è memorizzabile nella cache per impostazione predefinita, cioè a meno che la definizione del metodo o i controlli espliciti della cache non indichino diversamente (vedere la sezione 4.2.2 di [RFC7234]).

Fonte / Citazione da: Il codice di stato HTTP 404 Not Found è specificato dalla sezione 6.5.4. di RFC7231.

Come lanciare un codice di stato 404 con PHP?

Per lanciare il codice di stato HTTP 404 su una pagina web, si può usare la funzione PHP http_response_code. La sintassi è la seguente: http_response_code(404) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test del codice di stato HTTP 404

Per poter visualizzare il codice di stato HTTP (in questo caso 404 Not Found) e altre informazioni sul lato client, è necessario aprire la console di sviluppo con F12. Quindi navigare nella scheda "Rete". Ora la pagina può essere aperta, il sito web (ad esempio index.php) dovrebbe essere visibile nella scheda Rete. Questo deve essere selezionato e poi deve essere selezionata la sezione Herder. L'utente vedrà quindi il seguente risultato:

Codice di stato 404 Not Found
Panoramica
URL: https://http-statuscode.com/errorCodeExample.php?code=404
Stato: 404 Not Found
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
Codice di stato 404 Not Found

Come posso risolvere il problema del codice di stato 404?

Il codice di stato 404 Not Found può verificarsi per vari motivi. Alcuni sono banali, altri più complessi. Il motivo più probabile è che l'URL sia stato scritto in modo errato o che un link a una pagina interna sia stato impostato in modo errato. Un'altra possibilità è che la pagina collegata sia stata cancellata dal server web e che non sia stato impostato alcun codice di stato successivo, come ad esempio 410 (Gone).

Ma può anche verificarsi un modello di errore un po' più complicato. Se ci si assicura che né l'URL sia stato scritto in modo errato né che la risorsa sia stata cancellata, anche un reindirizzamento dal file "htaccess" può essere difettoso. I reindirizzamenti difettosi possono spesso essere individuati con strumenti web.

Come ultima probabile possibilità, si può prendere in considerazione anche un problema di caching. O il problema è già stato risolto sul lato server, ma la cache del browser non ricarica la pagina, ma dalla memoria locale, oppure il server web non carica nemmeno la versione corrente. In questo caso, la cache deve essere cancellata sia dal lato client che dal lato server.

Come creare la propria pagina di errore per il codice di stato 404

Creare la propria pagina di errore 404 Not Found è relativamente facile sia con il server web "Apache" che con "NGINX".

Apache Webserver

Il server web "Apache" è uno dei server web più comuni su Internet. Per creare la propria pagina di errore 404 Not Found in "Apache", è necessario apportare la seguente modifica al file seguente.

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

NGINX Webserver

Simile al server web "Apache", anche "NGINX" è ampiamente utilizzato su Internet. Per creare la propria pagina di errore 404 Not Found in "NGINX", è necessario apportare la seguente modifica al file seguente.

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

Compatibilità con i browser del codice di stato 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

Quali effetti SEO ha il codice di stato 404?

Nel mondo dell'ottimizzazione dei motori di ricerca (SEO), il codice di stato 404 Not Found "Not Found" è più di un semplice messaggio di errore. Ha effetti reali e tangibili sul modo in cui i motori di ricerca percepiscono e valutano un sito web.

Quando un utente o un crawler di un motore di ricerca cerca di accedere a una pagina che non c'è e quindi restituisce un errore 404 Not Found, i motori di ricerca lo interpretano come una pagina inesistente. Un errore 404 Not Found sporadico qua e là non avrà necessariamente un effetto drastico sul posizionamento nei motori di ricerca. Tuttavia, un accumulo di tali errori può segnalare ai motori di ricerca che il sito web non è ben mantenuto o aggiornato.

La presenza frequente di errori 404 Not Found può essere percepita dai motori di ricerca come un indicatore di scarsa struttura o manutenzione del sito web. Questo, a sua volta, può avere un impatto negativo sulla fiducia che il motore di ricerca ripone nel sito web. E nel mondo della SEO, la fiducia è tutto. Un sito web di cui i motori di ricerca si fidano tende a posizionarsi meglio nei risultati di ricerca.

Inoltre, come già detto, ogni sito web ha un crawl budget. Questo si riferisce al numero di pagine che un crawler dei motori di ricerca visiterà in un determinato periodo di tempo. Un numero eccessivo di errori 404 Not Found può far sì che una parte significativa di questo budget venga sprecata per pagine inesistenti. Ciò significa che i contenuti nuovi o aggiornati possono impiegare più tempo per essere scoperti e indicizzati dai motori di ricerca.

Un altro problema importante è la perdita di backlink dovuta agli errori 404 Not Found. I backlink sono un fattore di ranking cruciale e se una pagina esterna rimanda a un URL che restituisce un errore 404 Not Found, quel link non sarà più considerato un fattore di ranking positivo dai motori di ricerca.

In sintesi, sebbene gli errori 404 Not Found possano sembrare innocui in superficie, possono avere un grave impatto sul posizionamento di un sito web nei motori di ricerca. È quindi nell'interesse di un webmaster monitorare e correggere regolarmente questi errori per garantire che il sito web mantenga la migliore posizione possibile nei risultati di ricerca.

Costanti nei linguaggi di programmazione

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

Esempio di "Richiesta del cliente" e "Risposta del server" con codice di stato 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>

Codici di stato secondari del codice di stato 404

I codici di stato secondari sono puramente tecnici e non devono mai essere inviati all'utente. Ad esempio, se viene lanciato il codice di stato 404.1, questo può essere registrato, ma il codice di stato 404 sarà inviato all'utente.:
404.0 Not found
HTTP IIS, Non ufficiale
404.1 Site Not Found
HTTP IIS, Non ufficiale
404.2 ISAPI or CGI restriction.
HTTP IIS, Non ufficiale
404.3 MIME type restriction.
HTTP IIS, Non ufficiale
404.4 No handler configured
HTTP IIS, Non ufficiale
404.5 Denied by request filtering configuration
HTTP IIS, Non ufficiale
404.6 Verb denied
HTTP IIS, Non ufficiale
404.7 File extension denied
HTTP IIS, Non ufficiale
404.8 Hidden namespace
HTTP IIS, Non ufficiale
404.9 Files attribute hidden
HTTP IIS, Non ufficiale
404.10 Request header too long
HTTP IIS, Non ufficiale
404.11 Request contains double escape sequence
HTTP IIS, Non ufficiale
404.12 Request contains high-bit characters
HTTP IIS, Non ufficiale
404.13 Content length too large
HTTP IIS, Non ufficiale
404.14 Request URL too long
HTTP IIS, Non ufficiale
404.15 Query string too long
HTTP IIS, Non ufficiale
404.16 DAV request sent to the static file handler
HTTP IIS, Non ufficiale
404.17 Dynamic content mapped to the static file handler
HTTP IIS, Non ufficiale
404.18 Querystring sequence denied
HTTP IIS, Non ufficiale
404.19 Denied by filtering rule
HTP IIS, Non ufficiale
404.20 Too Many URL Segments
HTTP IIS, Non ufficiale
404.501 Too many requests from the same client IP; Dynamic IP Restriction Concurrent request rate limit reached
HTTP IIS, Non ufficiale
404.502 Too many requests from the same client IP; Dynamic IP Restriction Maximum request rate limit reached
HTTP IIS, Non ufficiale
404.503 the IP address is included in the Deny list of IP Restriction
HTTP ISS, Non ufficiale
404.504 the host name is included in the Deny list of IP Restriction
HTTP IIS, Non ufficiale

Articoli del blog

Codici di stato HTTP: Un'analisi dettagliata dei messaggi di errore 404 Not Found e 410 Gone

I codici di stato HTTP sono una parte essenziale del protocollo HTTP (Hypertext Transfer Protocol), che costituisce la base della comunicazione tra browser e server web. Essi consentono di contrass...

SEO e codici di stato HTTP: Un'analisi completa

Ottimizzare un sito web per i motori di ricerca (SEO) è un'impresa complessa. Uno degli aspetti spesso trascurati ma cruciali per un buon posizionamento sono i codici di stato HTTP. Questi piccoli ...

Autore: Tony Brüser
Autore: Tony Brüser

Tony Brüser è un entusiasta sviluppatore web con una predilezione per i codici di stato HTTP.

LinkedInGitHub