Lerrore 404, o Not Found (in italiano "Non Trovato"), è un codice di stato standard del protocollo HTTP. Indica che il server di origine non ha trovato una rappresentazione corrente per la risorsa richiesta oppure non è disposto a rivelarne l'esistenza. In alcuni casi il server può essere configurato in modo da rispondere con un errore 404 anche quando la risorsa esiste, per motivi amministrativi o di sicurezza. L'errore 404 va distinto dagli errori legati al mancato raggiungimento del server, come quelli in cui la connessione non viene proprio stabilita. Nel protocollo HTTP, ogni richiesta riceve una risposta contenente un codice di stato numerico. Nel caso del codice 404, la prima cifra indica la classe di risposta (4xx, errore del client), mentre le ultime due cifre non hanno una funzione di categorizzazione specifica. Questo errore compare spesso quando una pagina è stata spostata, eliminata, o quando l'indirizzo digitato non è corretto. Quando una risorsa è stata trasferita in modo definitivo, è preferibile restituire un codice 301. Quando invece la risorsa non è più disponibile e non tornerà online, è più conveniente usare un codice 410 Gone. Nella pratica, però, molti siti continuano a restituire un errore 404.

Panoramica Quando si comunica tramite il protocollo HTTP, un server deve rispondere a una richiesta, ad esempio quella del browser web per una pagina web, con un codice di risposta numerico e un messaggio facoltativo, obbligatorio o vietato (in base al codice di stato). Nel codice 404, la prima cifra indica un errore del client, ad esempio un URL (Uniform Resource Locator) digitato in modo errato. Le due cifre seguenti indicano l'errore specifico riscontrato. L'uso nel protocollo HTTP di codici a tre cifre è simile all'uso di tali codici in protocolli precedenti, come FTP e NNTP. A livello HTTP, un codice di risposta 404 è seguito di norma da un messaggio di "motivazione". La specifica HTTP suggerisce la frase "Non trovato" e molti server web, per impostazione predefinita, emettono una pagina HTML che include sia il codice 404 che la frase "Non trovato".

Spesso viene restituito un errore 404 quando le pagine sono state spostate o eliminate. Nel primo caso, sarebbe meglio utilizzare la mappatura di URL o il reindirizzamento di URL, restituendo una risposta 301 "Moved Permanently", che può essere configurata nella maggior parte dei file di configurazione del server, o tramite la riscrittura dell'URL. Se il server sa che la risorsa è stata rimossa in modo presumibilmente permanente, è preferibile utilizzare il codice 410 Gone; se invece non è noto se l'indisponibilità sia permanente, può essere utilizzato 404 Not Found. Poiché queste due opzioni richiedono una configurazione del server speciale, la maggior parte dei siti web non le utilizza.

Gli errori 404 non devono essere confusi con gli errori DNS, che compaiono quando l'URL fornito fa riferimento a un nome di server che non esiste. Un errore 404 indica che il server stesso è stato trovato, ma che esso non è stato in grado di recuperare la pagina richiesta.

Errori soft 404 Alcuni siti web segnalano un errore "non trovato" restituendo una pagina web standard, con un codice di risposta "200 OK", e segnalando erroneamente che la pagina è stata caricata correttamente. Questo evento è noto come soft 404, termine introdotto nel 2004 da Ziv Bar-Yossef et al.

I soft 404 sono errori problematici se si vogliono utilizzare metodi automatizzati per scoprire collegamenti interrotti. Alcuni motori di ricerca, come Yahoo e Google, utilizzano processi automatizzati per rilevare i soft 404. Essi possono verificarsi a seguito di errori di configurazione di determinati software del server HTTP, ad esempio in Apache HTTP Server, quando un documento di errore 404 (specificato in un file .htaccess) è specificato come percorso assoluto piuttosto che un percorso relativo (/error.html). Questo può anche essere fatto apposta per forzare alcuni browser (come il superato Internet Explorer) per visualizzare un messaggio di errore 404 personalizzato, anziché sostituire ciò che viene fornito con un messaggio di errore "descrittivo" specifico del browser. In Internet Explorer, browser ora obsoleto, questo comportamento si attivava quando veniva offerto un 404 e l'HTML ricevuto era più corto di una certa lunghezza, e poteva essere disabilitato manualmente dall'utente.

Esistono anche errori "soft 3XX", in cui il contenuto viene restituito con uno stato 200 ma proviene da una pagina reindirizzata, ad esempio quando le pagine mancanti vengono reindirizzate alla home page/root del dominio.

Server proxy Alcuni server proxy generano un errore 404 anche quando un codice di errore di intervallo 500 sarebbe più corretto. Se il server proxy non è in grado di soddisfare una richiesta per una pagina a causa di un problema con l'host remoto (come errori di risoluzione del nome host o connessioni TCP rifiutate), questo dovrebbe essere segnalato mediante un codice di stato della classe 5xx, ma potrebbe invece fornire un 404. Questo può confondere i programmi, che si aspettano e agiscono su risposte specifiche, poiché non possono più distinguere facilmente tra un server web assente e una pagina web mancante ma su un server web presente.

404 intenzionali Nel luglio 2004, il provider di telecomunicazioni britannico BT Group ha implementato il sistema di blocco dei contenuti Cleanfeed, che restituisce un errore 404 a qualsiasi richiesta di contenuto identificato come potenzialmente illegale dalla Internet Watch Foundation. Altri ISP restituiscono un errore HTTP 403 "vietato" nelle stesse circostanze. La pratica di utilizzare falsi errori 404 come mezzo per nascondere la censura è stata segnalata anche in Thailandia e Tunisia. In Tunisia, dove la censura era severa prima della rivoluzione del 2011, le persone si sono rese conto della natura dei falsi errori 404 e hanno creato un personaggio immaginario chiamato "Ammar 404 ", che rappresenta "il censore invisibile".

Codici di errore dello stato secondario di Microsoft Internet Server 404 Il software del server web sviluppato da Microsoft, Internet Information Services (IIS), restituisce una serie di codici di stato secondario con le sue 404 risposte. I codici di stato secondario assumono la forma di numeri decimali aggiunti al codice di stato 404. I codici di stato secondario non sono ufficialmente riconosciuti da IANA e non vengono restituiti da server non Microsoft.

Codici di stato secondario I server IIS 7.0, IIS 7.5 e IIS 8.0 di Microsoft definiscono i seguenti codici di stato secondario HTTP per indicare una causa più specifica di un errore 404:

404.0 - Non trovato. 404.1 - Sito non trovato. 404.2 - Restrizione ISAPI o CGI. 404.3 - Restrizione del tipo MIME. 404.4 - Nessun gestore configurato. 404.5 - Negato dalla richiesta di configurazione del filtro. 404.6 - Verbo negato. 404.7 - Estensione del file negata. 404.8 - Spazio dei nomi nascosto. 404.9 - Attributo del file nascosto. 404.10 - Intestazione della richiesta troppo lunga. 404.11 - La richiesta contiene una doppia sequenza di escape. 404.12 - La richiesta contiene caratteri a bit elevato. 404.13 - Lunghezza del contenuto troppo grande. 404.14 - URL richiesta troppo lungo. 404.15 - Stringa di query troppo lunga. 404.16 - Richiesta DAV inviata al gestore di file statici. 404.17 - Contenuto dinamico mappato al gestore di file statico tramite una mappatura MIME con caratteri jolly. 404.18 - Sequenza di stringhe di query negata. 404.19 - Negato dalla regola di filtraggio. 404.20 - Troppi segmenti URL.

Pagine di errore personalizzate I server web possono in genere essere configurati per visualizzare una pagina di errore 404 personalizzata, inclusa una descrizione più naturale, gli elementi grafici o l'identità visiva del sito e talvolta una mappa del sito, un modulo di ricerca o un widget di 404 pagine. La frase a livello di protocollo, che è nascosta all'utente, è raramente personalizzata. Internet Explorer, tuttavia, non visualizzava le pagine personalizzate a meno che non fossero più grandi di 512 byte, scegliendo invece di visualizzare una pagina di errore "semplice". Un altro problema è che se la pagina non fornisce una favicon ed esiste una pagina 404 personalizzata separata, traffico aggiuntivo e tempi di caricamento più lunghi verranno generati su ogni visualizzazione di pagina.

Molte organizzazioni utilizzano le pagine di errore 404 come un'opportunità per inserire elementi umoristici in quello che altrimenti potrebbe essere un sito Web serio. Ad esempio, Metro UK mostra un orso polare su uno skateboard e l'agenzia di sviluppo web Left Logic ha un semplice programma di disegno. Durante la campagna elettorale britannica del 2015, i principali partiti politici hanno utilizzato le loro 404 pagine per prendere di mira gli oppositori politici o mostrare le politiche pertinenti ai potenziali sostenitori.

Mentre molti siti Web inviano informazioni aggiuntive in un messaggio di errore 404, ad esempio un collegamento alla home page di un sito Web o una casella di ricerca, alcuni tentano anche di trovare la pagina Web corretta desiderata dall'utente. A tale scopo, sono disponibili estensioni per alcuni sistemi di gestione dei contenuti (CMS).

Iniziative benefiche NotFound.org (in collaborazione con Telefono Azzurro, Missing Children Europe, Famous e Amazon), raccogliendo le segnalazioni di bambini scomparsi nell'Unione Europea, ha lanciato un'iniziativa per la personalizzazione e l'uso a scopo solidale della pagina di errore 404. Installando un'applicazione, tramite l'integrazione di un iframe nella pagina errore 404, mostra un banner con la foto e la descrizione di un bambino scomparso.

Monitoraggio degli errori 404 Esistono numerosi strumenti che scansionano un sito Web per trovare pagine che restituiscono codici di stato 404. Questi strumenti possono essere utili per trovare collegamenti che esistono all'interno di un particolare sito web. Il limite di questi strumenti è che trovano solo collegamenti all'interno di un particolare sito Web e ignorano i 404 derivanti da collegamenti su altri siti Web. Di conseguenza, questi strumenti perdono l'83% dei 404 sui siti web. Un modo per aggirare questo problema è trovare errori 404 analizzando i collegamenti esterni.

Uno dei metodi più efficaci per scoprire gli errori 404 è utilizzare Google Search Console, Google Analytics o il software di scansione.

Un'altra tecnica comune è il monitoraggio del traffico verso pagine 404 utilizzando l'analisi dei file di registro. Questo può essere utile per capire quali URL inesistenti vengono richiesti dagli utenti. Un altro metodo per monitorare il traffico verso le pagine 404 è l'utilizzo di strumenti di monitoraggio del traffico basati su JavaScript.

Note

Voci correlate Codici di stato HTTP

Altri progetti

Collegamenti esterni

404 Categoria:Server web