I codici di stato HTTP, detti anche codici di errore HTTP o status code, sono informazioni fornite da un web server all’utente in merito all’esecuzione di un comando. Ogni volta che un client invia una richiesta a un web server quest'ultimo fornisce un codice di stato HTTP, comunicando così all'utente se la richiesta è stata elaborata correttamente o meno.
Esistono diversi tipi di codici di stato HTTP: codici informativi (100), codici di conferma (200), codici di reindirizzamento (300), codici di errore client (400) e codici di errore server (500). Nella nostra FAQ esamineremo le ultime due tipologie.
I Codici di stato HTTP di errore client, vengono visualizzati dal cliente quando il client invia una richiesta sintatticamente scorretta che non può essere elaborata dal server. Solo l’utente può intervenire per rimediare all’errore, inviando una nuova richiesta.
400 - Bad Request: Il server non riconosce come valido il flusso di dati inviato dal client, ad esempio, il web browser o il nostro robot CheckUpDown, perché non rispetta completamente il protocollo HTTP.
Possibili soluzioni: Risolvere il bug all'interno del codice lato server (ad esempio ASP o PHP). Se, in particolare, state utilizzando .ASP, è probabile che il problema derivi dalla presenza di caratteri Unicode: potrebbe quindi essere necessario aggiornare il .NET Framework.
401 - Authorization Required: Indica, in generale, un problema di autenticazione: la pagina a cui state provando ad accedere richiede, ad esempio, uno username ed una password che potreste aver inserito in modo errato.
Possibili soluzioni: Reperire le credenziali di accesso corrette (dipendono generalmente dal sito web e non dall'hosting provider).
403 – Forbidden: La causa più comune di questo errore è il divieto di esplorare le directory nel sito web: si tratta di un'opzione che molti portali implementano in automatico per motivi di sicurezza e, salvo casi particolari, è bene non manipolarla. In caso contrario, infatti, si potrebbe compromettere seriamente la stabilità del sito, dato che qualsiasi utente potrebbe consultarne i file e trovare eventuali exploit o eseguire file PHP/ASP in modo arbitrario.
404 - Not Found: Questo tipo di errore è molto comune nel caso in cui abbiate cambiato l'indirizzo di una pagina, ed implica, più in generale, che l'URL a cui avete provato ad accedere non sia più raggiungibile (link rotto).
Possibili soluzioni: La cosa più semplice è verificare manualmente l'indirizzo che non funziona e provare a ripristinarlo (i modi cambiano notevolmente a seconda del CMS utilizzato, in caso bisogna rivolgersi al proprio webmaster). Esistono poi dei plugin di Wordpress, come Broken Link Checker, che permettono di rilevare periodicamente errori di questo tipo (e correggerli). È, inoltre, possibile rilevare in automatico tutti i link rotti mediante il software free Xenu (per PC) o Integrity (per Mac).
405 - Method Not Allowed. L'errore indica che il server non è disponibile a visualizzare la pagina con il metodo richiesto: esempi di metodi possono essere GET, PUT, POST, DELETE e molti altri.
Possibili soluzioni: Il metodo standard utilizzato da tutti i server è il PUT, per cui un errore di questo genere non dovrebbe mai verificarsi.
406 - Not Acceptable (encoding): L'errore indica lo stato che viene restituito dal server nel caso in cui la richiesta HTTP possieda degli header di Accept che non siano compatibili con quello che è stato richiesto o che, comunque, il server non è in grado di gestire.
407 - Proxy Authentication Required: Questo errore indica che la connessione al sito è concessa soltanto mediante proxy.
Possibili soluzioni: Connettersi mediante un proxy server.
408 - Request Timed Out. Il server non è stato in grado di rispondere entro un ragionevole lasso di tempo alla richiesta ricevuta (come, ad esempio, il caricamento di una pagina web).
Possibili soluzioni: Consultare l'apposita guida di Microsoft o contattare il nostro supporto tecnico.
409 - Conflicting Request: La richiesta non può essere completata a causa di un conflitto.
Possibili soluzioni: Consultare l'apposita guida di Microsoft o contattare il nostro supporto tecnico.
410 – Gone: La pagina richiesta non è più disponibile all'indirizzo specificato (errore 404 “definitivo”).
Possibili soluzioni: Contattare il webmaster del sito per conoscere il nuovo indirizzo.
411 - Content Length Required: Il server si rifiuta di rispondere poiché la richiesta non include informazioni sulla dimensione.
Possibili soluzioni: Contattare il nostro supporto tecnico o il webmaster a seconda dei casi.
412 - Precondition Failed: Il software del client VPN ha rilevato che il server non risponde più e ha rimosso la connessione.
Possibili soluzioni: Contattare il nostro supporto tecnico.
413 - Request Entity Too Large. Il file è troppo grande per essere gestito, superando i limiti imposti dal server.
Possibili soluzioni: Contattare il webmaster del sito web.
414 - Request URI Too Long. La pagina possiede un URL troppo lungo, che il server non può gestire o non è abilitato a gestire.
Possibili soluzioni: Chiedere al webmaster di utilizzare URL più brevi.
415 - Unsupported Media Type. Parte della richiesta inviata al server non è supportata per una questione di formato.
Possibili soluzioni: Contattare il nostro supporto tecnico.
Appartengono a un'altra classe i Codici di stato HTTP di errore server visualizzati quando il server va incontro a un problema interno imprevisto, che impedisce di processare la richiesta. In questo caso il client ha inviato la richiesta correttamente ma il server non è in grado di elaborarla.
500 - Internal Server Error: Messaggio di errore generico senza alcun dettaglio specifico.
Possibili soluzioni: Si tratta di uno degli errori più complessi da diagnosticare: nel caso di Wordpress, ad esempio, può indicare un errore di battitura all'interno del file di configurazione .htaccess (da verificare ed eventualmente correggere). La consultazione dei log del server può essere molto utile per comprendere meglio cosa sia successo.
501 - Not Implemented 501: Indica che la richiesta effettuata dal browser utilizza un metodo fuori dallo standard HTTP e quindi non implementato lato server. Ciò si può verificare se ad effettuare una chiamata non è un normale browser ma un software apposito.
Possibili soluzioni: Verificare il tipo di chiamata effettuata dal proprio software e modificarla. Se il tipo di richiesta non standard è necessaria al funzionamento dell'applicazione, contattare il supporto tecnico.
502 - Bad Gateway: Questo errore è causato da un problema di comunicazione IP tra i computer back-end, incluso, eventualmente, il server web del sito che si sta tentando di visitare.
Possibili soluzioni: Prima di tentare qualsiasi altra soluzione, è opportuno provare a svuotare la cache del proprio browser e riprovare a caricare la pagina.
503 - Service Unavailable. Servizio genericamente non disponibile.
Possibili soluzioni: Prima di tentare qualsiasi altra soluzione, è opportuno provare a svuotare la cache del proprio browser e riprovare a caricare la pagina.
504 - Gateway Timeout: Il gateway non ha risposto nei tempi previsti e le cause possono essere molteplici.
Possibili soluzioni: Prima di tentare qualsiasi altra soluzione, è opportuno provare a svuotare la cache del proprio browser e riprovare a caricare la pagina.
505 - HTTP Version Not Supported: Indica che la versione del protocollo HTTP richiesta dal browser non è supportata dal server. Può verificarsi con implementazioni del server molto vecchie oppure con versioni sperimentali del browser. Se la chiamata è stata scritta manualmente è possibile che sia causato da un errore di sintassi.
Possibili soluzioni: Verificare la sintassi della chiamata HTTP e la versione del web server.