Significato dei codici di stato HTTP

In internet sono presenti più di un miliardo di siti web. Se un utente vuole richiamare sul suo browser un sito web specifico, quale l’homepage della sua squadra del cuore, il sito della banca o leggere le sue email, ha bisogno di un indirizzo internet. Così si localizza l’offerta web desiderata sul server corrispondente. La trasmissione dei dati richiesti sul computer locale avviene con l’aiuto del protocollo di trasferimento di un ipertesto (HTTP). Il browser (in questo caso si chiama client) invia una richiesta al server web che risponde con un codice di stato http costituito da una serie di numeri a tre cifre.

Tramite questo messaggio, il server web comunica al browser se la richiesta è stata completata, se è sopraggiunto un errore o se è necessaria un’autenticazione. Il codice di stato http è una parte essenziale del messaggio del server web che viene automaticamente aggiunta dal server all’header di ogni risposta http. Un utente riceve generalmente i codici di stato http solo sotto forma di una pagina html generata automaticamente, nel caso in cui il server web non possa eseguire la richiesta del client o non sia stato possibile inviare i dati di un sito.

Categorie degli stati http

I codici di stato http si dividono generalmente in cinque categorie, nelle quali le prime cifre del codice indicano l’appartenenza ad una categoria. Così il codice di stato http 200 fa parte della categoria 2xx, mentre il codice 404 di quella 4xx. Questa classificazione viene fatta in base al significato e alla funzione dei codici di stato. Si distingue in:

  • Categoria 1xx – informativa: nel caso in cui venga comunicato un codice di stato http della categoria 1xx, il server risponde al client che la richiesta è ancora in corso. Rientrano in questa categoria i codici che inviano informazioni da elaborare e che rispondono mentre la richiesta è in corso.
  • Categoria 2xx – successo: un codice 2xx comunica che un’operazione è andata a buon fine. Se viene inviato un codice 2xx, vuol dire che il server ha ricevuto, elaborato e accettato la richiesta del client. Quindi i codici 2xx vengono inviati spesso in contemporanea con i dati richiesti del sito. Generalmente l’utente non si accorge di niente e visualizza solo la pagina web richiesta.
  • Categoria 3xx – reindirizzamento: il codice 3xx indica che la richiesta è stata ricevuta dal server. Per assicurarsi una corretta elaborazione, sono necessari altri passaggi lato client. I codici 3xx si riscontrano soprattutto nel caso di inoltri e reindirizzamenti.
  • Categoria 4xx – errore del client: se compare un codice 4xx, si tratta di un errore del client. Il server ha ricevuto la richiesta, ma non può eseguirla, generalmente a causa di una richiesta errata. Di solito agli utenti viene segnalato questo tipo di errore tramite la creazione automatica di una pagina html.
  • Categoria 5xx – errore del server: con il codice 5xx si indica un errore del server imputabile al server stesso. Errori di questo tipo segnalano che la richiesta effettuata non è momentaneamente eseguibile o non è addirittura possibile. Anche in questo caso viene generalmente creata una pagina di errore html.

Panoramica dei codici di stato http più importanti

I codici di stato http ricoprono un ruolo fondamentale per i gestori dei siti o per gli specialisti SEO. Gli errori che compaiono agli utenti sono soprattutto i codici di errore del client come il 404 (Not Found) o gli errori del server come il 503 (Service Unavailable) che spesso sono visualizzati sul browser come pagine html create automaticamente.

Ma ne esistono anche molti altri che non sono visibili immediatamente e che possono essere controllati dagli amministratori solo tramite strumenti speciali ed estensioni del browser. È importante determinare l’errore e risolverlo per consentire una migliore navigabilità al visitatore del sito e per ottimizzare la propria posizione sui motori di ricerca. La lista seguente mostra alcuni dei codici di risposta più comuni. Per ulteriori informazioni si rimanda alla pagina esplicativa di HTML.

  • Codice di stato 200 – OK: il codice di stato http 200 indica che la richiesta è andata a buon fine. Tutti i dati richiesti sono stati localizzati sul server web e trasmessi al client. Normalmente gli utenti non visualizzano questo codice.
  • Codice di stato 301 –Moved Permanently: il codice 301 significa che i dati richiesti dal client non si trovano più all’indirizzo richiamato, ma sono invece stati spostati permanentemente. Visto che la posizione attuale dei contenuti richiesti può essere inclusa nello stato, il browser reindirizza automaticamente gli utenti al nuovo indirizzo e quello vecchio non è più valido.  Anche il codice 301 non viene visto dall’utente, dato che viene semplicemente cambiato l’URL sulla barra degli indirizzi.
  • Codice di stato 302 – Moved Temporarily: Al contrario dello stato 301, che indica un trasferimento permanente, il codice 302 comunica che i dati richiesti sono raggiungibili temporaneamente ad un altro indirizzo. Anche per l’errore 302 viene comunicato dove si trovano le informazioni richieste cosicché si venga reindirizzati automaticamente. Il vecchio indirizzo rimane però valido. 
  • Codice di stato 403 – Forbidden: il codice di stato 403 segnala al client che l’accesso ai dati richiesti è protetto e che la richiesta non può essere eseguita per via di un’autorizzazione mancante del client. Generalmente, questo problema di accesso viene comunicato all’utente tramite la visualizzazione di una pagina HTML generata automaticamente.
  • Codice di stato 404 – Not found: Se si riceve la risposta del server 404, i dati richiesti della pagina non sono stati trovati sul server. Generalmente, il sito web non esiste più o i contenuti sono stati trasferiti senza comunicare il nuovo indirizzo. Gli utenti che ricevono un errore 404 dovrebbero controllare se hanno inserito l’indirizzo corretto sulla barra degli indirizzi. I link che rimandano a pagine non più esistenti sono chiamati “link morti”.
  • Codice di stato 500 – Internal Server Error: La risposta del server 500 funge da codice di stato di raggruppamento per errori inaspettati del server. Se si riscontra un problema lato server che impedisce di richiamare i dati richiesti, verrà restituito automaticamente questo codice di stato. Oltre alla risposta al client, il server web genera solitamente un protocollo interno di errore che deve essere analizzato dai gestori dei siti per effettuare le riparazioni necessarie al software del server.
  • Codice di stato 503 – Service Unavailable: Se l’utente visualizza un codice 503 significa che il server web corrispondente che dovrebbe inviare le informazioni richieste è sovraccarico. A volte la risposta del server contiene informazioni che specificano quando la richiesta potrà essere rielaborata. In ogni caso, gli utenti possono stare tranquilli: l’amministratore sta già lavorando al problema e il server sarà di nuovo disponibile a breve.

Come si comportano i gestori dei siti web con i codici di stato http?

Per offrire ai visitatori un’esperienza di navigazione ottimale, gli amministratori devono fare in modo di ridurre al minimo le pagine di errore HTML generate automaticamente. Ciò vale soprattutto per i siti web di grandi dimensioni, gli e-commerce e i portali di notizie, dove l’assortimento e le informazioni offerte variano notevolmente.  Se la pagina è scomparsa, il visitatore che cerca di accedere ai contenuti riceve generalmente un codice di stato 404 (Not Found). Per questo motivo molti utenti lasciano la pagina e cercano le informazioni o i prodotti desiderati su altri siti, spesso su quelli dei diretti concorrenti. È quindi nell’interesse dei gestori dei siti web prendere le misure adeguate per far rimanere gli utenti sulla pagina.

Altrettanto intensi sono gli sforzi degli amministratori nell’identificazione degli errori 404 sul sito. Per questo ci sono ad es. i Webmaster Tools di Google con i quali è possibile visualizzare il rapporto di errori di scansione per i siti web e risolvere facilmente il codice di stato 404, impostando gli inoltri necessari. In più, creando delle pagine di errore personalizzate, si evita che i visitatori decidano di non tornare più sul sito.

Reindirizzare pagine di errore 404 su offerte alternative tramite codice 301

Nel caso venisse identificata una pagina eliminata, si consiglia di impostare un inoltro a contenuti simili tramite il codice di stato 301 (Moved Permanently). Il visitatore di una pagina non trova il prodotto o le informazioni richieste, ma proponendo dei contenuti alternativi viene incoraggiato a rimanere sulla pagina. Importante è che l’indirizzo alternativo sia collegato alla richiesta originaria e che offra al visitatore un valore aggiunto. Teoricamente le pagine 404 si possono reindirizzare tramite il codice 301, ad es. all’homepage. Chi sceglie per l’inoltro landing page personalizzate, riuscirà efficacemente a far rimanere il visitatore sulla pagina.

Pagine di errore alternative migliorano la navigabilità sul sito per gli utenti

Anche con una buona manutenzione della pagina, non è sempre possibile evitare gli errori 404. Quindi si consiglia di inserire degli avvisi personalizzati piuttosto che utilizzare quelli generati automaticamente dal server tramite il file di configurazione .htaccess. Gli avvisi alternativi 404 vanno generalmente adattati al design del sito e possono offrire spesso, oltre al codice di stato, altre informazioni come pagine di prodotti simili o una lista con le offerte attuali. In che modo i gestori dei siti integrino pagine di errore alternative viene spiegato dettagliatamente nell’articolo “I dieci migliori trucchi per .htaccess”.

Il significato degli stati di codice per l’ottimizzazione sui motori di ricerca

Alcuni codici di stato HTTP ricoprono anche nell’ottimizzazione per i motori di ricerca un ruolo importante. Infatti, il codice 404 per esempio non comunica solo al browser di un utente che la pagina richiesta non è stata trovata; anche i motori di ricerca non possono scansionare il suo contenuto e, proprio come i visitatori reali, anche i bot dei motori di ricerca vengono rimandati tramite reindirizzamento ai contenuti di una nuova destinazione. Per motivi di ottimizzazione SEO è opportuno qui utilizzare un codice di stato 301, utile per mantenere i link forti. Qualora i crawler di un motore di ricerca trovassero, scansionando la pagina, un codice di stato 301, lo considererebbero come un vecchio indirizzo non più valido da cancellare dall’indice di ricerca e da sostituire con la nuova destinazione di inoltro.

In questo caso i link forti che rimandano alla vecchia pagina non vengono persi, ma vengono trasferiti sulla destinazione di reindirizzamento 301. È soprattutto rilevante che la vecchia pagina venga trasferita permanentemente alla destinazione di inoltro, mantenendo l’autorità acquisita e il suo PageRank, conferiti dai link in entrata. Avviene invece diversamente con il codice di stato 302. Dato che indica solo un inoltro temporaneo, il vecchio indirizzo rimane nell’indice. In questo caso la forza dei link di eventuali backlink non viene trasferita alla destinazione di inoltro.


Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.