Vai al contenuto principale

Codici di stato HTTP - cosa sono gli errori HTTP?

A cosa servono i codici di stato HTTP? E cosa sono? Te lo sei mai chiesto?

I codici di stato HTTP sono un argomento di principale rilievo per chi gestisce un sito web. Infatti, affinché un sito web sia sano e ben navigabile, è necessario che non ci siano errori e ogni pagina sia accessibile in qualsiasi momento. Questo va ad influire positivamente anche sull’indicizzazione e il posizionamento delle pagine del tuo sito web.

Ovviamente succede che ci siano delle pagine che vanno in errore. Se si tratta di pagine secondarie, con livelli di traffico vicini allo zero, potresti non accorgertene anche per diverso tempo.

Se invece è la homepage o una delle pagine principali del tuo sito web ad andare in errore te ne accorgerai subito e così anche i tuoi utenti.

E allora cosa fare?

Molto semplice, ti basta identificare di che tipo di errore si tratta per poter andare ad agire subito e risolvere il problema. Per questo motivo corrono in nostro soccorso i codici di stato HTTP, che ci forniscono un’indicazione più o meno precisa - dipende poi dal tipo di errore segnalato - di quello che sta accadendo sul nostro sito web.

 

codici di stato http - errori http

 

Per questo la conoscenza dei codici di errore è fondamentale per chi gestisce un sito web, in quanto gli stessi forniscono informazioni inestimabili per la ricerca e la risoluzione del problema.

"Ma quali sono e quanti sono i codici HTTP?"

Se ti occupi della gestione di uno o più siti web e non li conosci, dovrai provvedere quanto prima. Se invece li conosci già, prenditi comunque questo ripasso, ti sarà davvero utile!

Scopriamoli insieme...

Cosa sono i codici di stato HTTP?

Come abbiamo già anticipato i codici di stato HTTP sono uno strumento importantissimo da cui partire per la diagnostica di errori sul proprio sito web.

Per dare una definizione dei codici di stato HTTP partiamo innanzitutto dal funzionamento di una pagina web.

Ogni volta che digiti una url sulla pagina del motore di ricerca o clicchi su un link, il browser invia una richiesta al server web relativo al sito in cui cerchi di accedere. La richiesta è appunto “vorrei accedere a questa pagina di questo sito web”.

Il server riceve la richiesta ed elabora una risposta che viene inviata indietro al browser insieme ad un codice di stato HTTP. Un po’ come dire che il server e il browser si fanno una bella chiacchierata.

Quindi, in pratica, ogni volta che si invia una richiesta al server, questo invia nella risposta un codice HTTP.

Cosa significa errore HTTP?

Ma perché io vedo i codici HTTP soltanto in caso di errore?

È presto detto: infatti se la richiesta al server è andata a buon fine tu non vedrai nulla, se non la pagina che hai richiesto, che si aprirà sul browser.

In questo caso il codice di risposta inviato dal server è un codice che indica che la richiesta può essere soddisfatta, come ad esempio il codice di stato HTTP 200.

Se invece ci sono stati degli errori nell’interrogazione al server allora vedrai un codice HTTP di errore, che di fatto non fa parte della pagina del sito web ma è un messaggio del browser che avverte che c’è un errore in corso.

Hai bisogno - o sei solo curios@ - di vedere i codici di stato che il browser normalmente non mostra? Ci sono diversi strumenti che lo consentono, come ad HTTP Debugger o Web Sniffer.

Ma ora passiamo alla definizione ufficiale: secondo l’ITEF - Internet Engineering Task Force - i codici di stato HTTP sono codici di stato a tre cifre definiti per il protocollo HTTP che indicano una risposta temporanea del server.

Cosa sono le categorie di codici di stato http?

I codici di stato HTTP sono suddivisi in 5 categorie, identificabili tramite la prima cifra del codice. In base alla categoria a cui appartiene un codice si riesce ad avere una prima indicazione del tipo di errore/risposta dal server.

Le 5 categorie di codici HTTP sono:

  • 1xx Informational - codici informativi: si tratta di codici che indicano che il browser ha inviato una richiesta che è stata ricevuta dal server ed è in elaborazione

  • 2xx Success - codice di successo: questo è il codice che viene restituito quando la richiesta del client (cioè il browser) viene ricevuta con successo, compresa ed accettata

  • 3xx Redirect - codice di reindirizzamento: questo viene visualizzato quando il client deve effettuare ancora qualche passaggio prima di completare la richiesta - solitamente reindirizzare l’utente su un’altra pagina web

  • 4xx Client Error - codice di errore lato client: questo codice indica che il server ha ricevuto la richiesta ma non riesce ad eseguirla, perché c’è stato un problema con la richiesta che dipende dal client - e cioè dal browser, come ad esempio una richiesta errata

  • 5xx Server Error - codice di errore lato server: anche qui si tratta di un problema nella richiesta, ma che stavolta dipende dal server.

Più in generale possiamo dividere queste 5 categorie di codice in due gruppi:

  1. I codici che indicano che la richiesta può essere soddisfatta: 1xx, 2xx e 3xx
  2. I codici che indicano che la richiesta non può essere soddisfatta a causa di un errore: 4xx e 5xx

All’interno di ogni classe di codice esistono poi diversi codici di 3 cifre che indicano in modo specifico la natura dell’errore. Alcuni, come molti webmaster sanno bene, possono essere più frequenti di altri, e una volta imparato come risolverli diventa tutto più semplice e meno “spaventoso”.

Li vedremo insieme nel prossimo paragrafo.

Non perderti anche: PhpMyadmin, una guida completa

Guida ai codici di stato HTTP: gli errori più frequenti

Di codici di stato HTTP ce ne sono tantissimi, ma qui parleremo di quelli più frequenti e che con molta probabilità incontrerai più spesso o hai già incontrato nella gestione del tuo sito web.

Codici di stato 1xx

Codice 100 - Continue: vuol dire che il server ha ricevuto l’header della richiesta ed è in attesa di ricevere il corpo.
Codice 101 - Switching Protocols: il browser ha richiesto al server di cambiare i protocolli, il server si sta muovendo.
Codice 102 - Processing: in questo caso il server ha ricevuto la richiesta e sta processando una risposta, che però non è ancora disponibile

Codici di stato 2xx

Codice 200 - OK: tutto è andato a buon fine, e la pagina si è aperta correttamente.
Codice 201 - Created: la richiesta è stata soddisfatta tramite la creazione di una nuova risorsa.
Codice 202 - Accepted: la richiesta è stata accettata dal server ma è ancora in elaborazione.
Codice 203 - Non-Authoritative Information: questo appare quando è in uso un proxy che ha ricevuto un codice 200 ma ha modificato la sua risposta prima di trasmetterla al browser
Codice 204 - No Content: il server ha elaborato con successo la richiesta e non restituirà nessun contenuto
Codice 205 - Reset Content: come un codice 204, la richiesta non restituirà alcun contenuto, ma richiede che il richiedente resetti la visualizzazione del documento Codice 206 - Partial Content: il server consegna indietro al browser solo una parte della risorsa, a causa di un “range header”.

Codici di stato 3xx

Codice 300 - Multiple Choices: in questo caso ci sono più risorse con cui il server può rispondere per soddisfare la richiesta e ne sceglierà una tra queste
Codice 301 - Moved Permanently: questo codice viene utilizzato per i redirect permanente degli URL, quando una risorsa viene sostituita permanentemente con una diversa
Codice 302 - Found: questo codice indica che la risorsa è stata trovata, ma in un luogo diverso da quello previsto - si tratta di un reindirizzamento temporaneo
Codice 304 - Not Modified: le risorse richieste non sono state modificate e il browser ha già una copia della pagina richiesta. Questo velocizza la consegna delle pagine web sul browser
Codice 307 - Temporary Redirect: successore del codice 302, indica una risorsa temporaneamente spostata su diverso URL
Codice 308 - Permanent Redirect: questo codice è andato di fatto a sostituire il 301 e indica che la risorsa richiesta è stata spostata permanentemente su un nuovo URL

Codici di stato 4xx

Codice 400 - Bad Request: qui iniziano i problemi. Questo codice ci indica che il server non può restituire la risposta a causa di un errore nel client.
Codice 401 - Unauthorized: l’errore 401 viene segnalato quando non ci sono credenziali di autenticazione valide per accedere alla risorsa - l’autenticazione è possibile ma è fallita
Codice 403 - Forbidden: questo codice viene visualizzato quando si tenta di accedere ad una risorsa per cui non si possiede l’autorizzazione - in questo caso, contrariamente all’errore 401, l'autorizzazione non è possibile
Codice 404 - Not Found: l’errore 404 è il messaggio di errore più comune, quando la risorsa richiesta non esiste o comunque al momento non è stata trovata
Codice 408 - Request Timeout: questo codice viene fuori quando il server va in timeout di attesa della richiesta completa da parte del browser
Codice 410 - Gone: la richiesta non è più disponibile e non lo sarà neanche in futuro
Codice 418 - I’m a teapot: il codice è una teiera. No, non è uno scherzo. Anzi si, lo è. Si tratta di un vero e proprio pesce d’aprile inventato nel 1998 dall’Internet Engineering Task Force (IETF) in cui una teiera si rifiuta di fornire una riposta alla richiesta del caffè. Simpatici, questi informatici, eh?
Codice 451 - Unavailable for Legal Reasons: in questo caso l’accesso alla risorsa viene “bloccato” per motivi legali. Il codice è ispirato al romanzo Fahrenheit 451.

Lo sapevi? È possibile personalizzare le pagine di errore

Codici di stato 5xx

Codice 500 - Internal Server Error: l’errore 500 è un codice generico che indica un errore interno del server
Codice 501 - Not Implemented: l’errore indica che il server non supporta le funzionalità che servono per soddisfare la richiesta. Necessita l’intervento dell’hosting provider per essere risolto
Codice 502 - Bad Gateway: l’errore 502 viene visualizzato quando si utilizza un server proxy che riceve una risposta non valida
Codice 503 - Service Unavailable: l’errore 503 ci dice che la richiesta non può essere completata in quel momento dal server
Codice 504 - Gateway Timeout: in questo caso ci sono due server ad elaborare la richiesta ed il primo - che fa da gateway o proxy - non riceve risposta dal secondo e si interrompe
Codice 505 - HTTP Version Not Supported: il codice indica che il server non supporta la versione HTTP con cui il client ha effettuato la richiesta.

Come controllare se ci sono errori HTTP sul tuo sito web?

Ora che abbiamo effettuato una panoramica sui principali codici di errore ti starai chiedendo: ma come faccio a sapere quali pagine del mio sito web vanno in errore?

A meno che non si tratti di pagine molto trafficate, e allora te ne accorgerai presto, se hai un sito web molto strutturato e l’errore è presente su pagine in cui i tuoi visitatori capitano raramente puoi farti aiutare da alcuni strumenti molto interessanti che ti permettono, gratuitamente, di andare a rilevare tutti gli errori presenti all’interno del tuo sito web.

Non riesci a risolvere un problema con il tuo sito web? Richiedi aiuto al nostro supporto esteso

Quelli che ti consigliamo sono:

Google Search Console

Nella sezione Coverage/Copertura della Search Console potrai visualizzare un report in cui sono riportati gli errori 300,400 e 500 del tuo sito web al momento. Le pagine verranno divise in 4 categorie: pagine con errori, pagine valide con avvertenze, pagine valide, pagine escluse dall’indice.

 

google search console copertura - codici di stato http - errori http

 

Screaming frog

Si tratta di uno strumento molto valido che ti permette di effettuare una scansione completa del tuo sito web simulando il Crawling degli Spider dei motori di ricerca. Ha una dashboard molto intuitiva e ti permette di identificare in modo veloce e pratico gli errori presenti sul tuo sito web. Esiste sia una versione gratuita che una a pagamento.

 

codici di stato http - errori http - screaming frog

 

Ora che sai tutto (o quasi) sui codici di stato HTTP avrai capito perché è molto importante a livello SEO che il tuo sito web non presenti pagine con errore. E ora, che fare? Non ti resta che andare subito ad analizzare il tuo sito web e metterti a lavoro!


Pubblicato: | Aggiornamento: