Gli errori più comuni nei siti web: analisi e soluzioni

Un sito web viene solitamente concepito per essere una macchina perfetta per dare risposte immediate alle domande degli utenti. Tuttavia, nulla è perfetto, e può capitare che si verifichino errori e problemi che ne impediscono la corretta fruizione.

Ovviamente, sono problemi di carattere tecnico, niente che non possa essere risolto con interventi mirati, che eliminano il problema alla base. Se il tuo sito web è ospitato in un hosting shared, puoi sempre far ricorso all’assistenza tecnica del provider ma se utilizzi un VPS (Virtual Private Server) o un qualsiasi altro servizio dedicato, come quelli forniti da HostingVirtuale, potresti dover analizzare la problematica da solo.

Ecco, quindi, l’analisi dei principali errori nei siti web con i suggerimenti per evitare che vengano visualizzati durante la navigazione da parte dell’utente.

errori-siti-web

Gli errori più comuni nei siti web: analisi e soluzioni

I codici di errore HTTP

I codici di errore HTTP, più propriamente detti codici di stato HTTP sono le informazioni che vengono fornite all’utente in merito all’esecuzione di un comando, ogni qual volta viene chiesto al browser di accedere a un determinato sito web.

Dalla parte dell’utente, infatti, l’operazione è molto semplice: basta inserire la url (l’indirizzo univoco) del sito nella barra apposita e premere invio, oppure cliccare su un link. Dietro queste semplici operazioni, però, si cela un mondo fatto di richieste e di autorizzazioni scambiate tra il client, ossia il computer che effettua l’operazione, e il server, ossia il sistema su cui il sito è alloggiato, che include anche tutte le risorse necessarie per il suo funzionamento.

Client e server comunicano tra loro attraverso l’HTTP, un protocollo informatico del tipo richiesta-risposta strutturato in modo tale da gestire tutto il traffico di informazioni che viaggia sulla rete. A determinata richiesta del client di eseguire una determinata operazione, il server restituisce risposte tipo che danno le informazioni sullo stato della richiesta: questi sono i codici di stato HTTP, che si dividono in 5 classi.

Le classi relative agli errori sono la 4 e la 5, rispettivamente i Client Request Errors e i Server Errors; sono identificati rispettivamente con codici 4xx e 5xx e derivano da errori sintattici o da errori interni che impediscono il processamento della richiesta.

Differenze tra Client Request Errors e Server Errors

I codici di errore HTTP Clients Request Errors appartengono alla 4 classe e vengono visualizzati quando il client invia una richiesta sintatticamente scorretta, che quindi non può essere elaborata dal server.

Sono errori di tipo 4xx, a cui l’unica risposta che può dare il server è di tipo “client error”: la richiesta non può essere elaborata e solo l’utente può intervenire per rimediare all’errore, inviando una nuova richiesta.

I codici di errore HTTP Server Errors, invece, appartengono alla 5 classe e vengono visualizzati quando il server va incontro a un problema interno imprevisto che gli impedisce di processare la richiesta.

In questo caso, quindi, dalla parte del client la domanda è stata inoltrata nel modo corretto ma il server non è in grado di elaborarla. Le cause principali sono il sovraccarico di richieste o una fase di manutenzione che mette il server offline per un determinato periodo di tempo, rendendolo di fatto irraggiungibile. Il codice di questi errori è di tipo 5xx.

I principali Client Request Errors

401 Unauthorized

Il messaggio di errore HTTP con il codice 401 è spesso accompagnato dalla dicitura “unauthorized”: questo è il messaggio che viene visualizzato quando il client richiede l’accesso a un sito per il quale è necessaria l’autenticazione.

In questo caso la richiesta è stata inviata sintatticamente corretta da parte del browser, il flusso è considerato valido da parte del server ma non è stata elaborata perché manca la chiave d’accesso. I motivi per la mancata autorizzazione sono due:

– assenza di un’identificazione;

– errore nell’identificazione.

In entrambi casi, per bypassare il codice di errore 401 è sufficiente inserire i dati corretti di autenticazione previsti dal sito web che si tenta di visitare.

403 Forbidden

Il messaggio di errore HTTP con il codice 403, per certi versi è assimilabile al messaggio 401 ma, in questo caso, non è previsto un intervento risolutivo da parte dell’utente sul client. Questo errore, infatti, si presenta quando il client non ha le necessarie autorizzazioni per l’accesso al server.

L’accesso alla risorsa, quindi, è semplicemente vietato da un’impostazione del server che impedisce l’accesso a determinate tipologie di richiedenti. In alcuni casi, il codice 403 Forbidden viene visualizzato anche quanto il sito viene messo temporaneamente offline dall’amministatore, che ne inibisce in questo modo l’accesso dalla rete a chiunque non abbia poteri di gestione e, quindi, le password amministrative

404 Page not Found

Il messaggio di errore HTTP con il codice 404 è, forse, uno dei più frequenti. La dicitura “page not found” dà una prima indicazione del tipo di errore: la pagina non è stata trovata. Perché?

Le spiegazioni a questo tipo di errore possono essere due:

– l’amministratore ha eliminato la pagina richiesta;

– l’indirizzo della pagina non è stato inserito in modo corretto.

Il primo caso si verifica spesso quando si cerca di accedere a siti con indirizzi obsoleti, per i quali non è stato previsto un redirect: la risorsa è stata semplicemente tolta da quell’indirizzo e, quindi, non può essere raggiungibile.

Il secondo caso, invece, più semplicemente si verifica in caso di errori di battitura: basta un piccolo errore sintattico per invalidare la url e, quindi, ricevere un errore 404. In entrambi i casi, l’unica soluzione è quella di modificare l’indirizzo inserendo quello corretto.

405 Method Not Allowed

Il messaggio di errore HTTP con il codice 405 è accompagnato dalla dicitura “method not allowed”, che tradotto significa “metodo non consentito”. Per capire questo errore bisogna considerare il fatto che tutti i siti web vengono sviluppati per consentire o meno determinati metodi, ossia la tipologia di azioni da eseguire nel sito.

Quando il client tenta di eseguire un metodo che non è previsto dal sito, inevitabilmente il server restituisce l’errore 405. Il più comune errore 405 deriva da un blocco del metodo POST, ossia dal tentativo di inserimento di un input in un sito che non lo prevede. Questo è un errore che deriva dalle impostazioni di sicurezza del server e dalla sua configurazione.

410 Gone

Il messaggio di errore HTTP con il codice 410 si accompagna a “Gone” che, tradotto in italiano, significa “andato”. Molto semplicemente, quindi, questo errore viene visualizzato quando il client tenta di accedere a un sito il cui indirizzo è stato definitivamente reso indisponibile.

Può essere in parte assimilato all’errore 404 ma sarebbe sbagliato considerare questi due codici come l’uno l’alternativa dell’altro. Infatti, esiste una differenza notevole tra le due stringhe. L’errore 404, infatti, indica che la pagina web non è stata trovata al’indirizzo indicato ma non esclude che potrebbe essere nuovamente disponibile.

L’errore 410, invece, indica l’espirazione definitiva di quell’indirizzo ed è rivolta soprattutto agli spider per l’ottimizzazione SEO, che incontrando un errore 410 non torna più a visitare la pagina, perché la considera definitivamente eliminata, avviando quindi il processo di rimozione della pagina dalle SERP.

I principali Server Errors

500 Internal server error

Il messaggio di errore HTTP con il codice 500 è un messaggio generico del server che informa del verificarsi di un problema nell’elaborazione della richiesta del client. L’errore, quindi, è all’interno del server e deriva solitamente da una configurazione non corretta, sia a livello di server che di dominio.

E’ considerato un errore grave irreversibile del codice e anche un semplice errore di scrittura può essere sufficiente per impedire il lavoro del del server. Di suo, questo codice non dà grandissime indicazioni sulla tipologia di problema e per trovarne la causa è solitamente necessario effettuare un’analisi dei log degli errori che, di base, viene fornita dall’hosting su cui è ospitato il sito. E’ un errore che dipende esclusivamente dal server.

501 Not Implemented

Questo codice di errore HTTP può essere in parte assimilato al codice 405, considerando, però, il punto di vista del server. In questo caso l’errore di sintassi e di lettura metodo non proviene dal client che cerca di operare con un metodo non previsto ma dal server che presenta difficoltà nel soddisfare il metodo della richiesta effettuata.

L’unico che può risolvere questo problema non è il web master ma l’amministratore del server su cui è ospitato il sito. E’ un errore che può verificarsi, per esempio, quando sul server stanno arrivando troppe richieste che non è in grado di elaborare: in questo caso la soluzione è tentare un refresh ma non sempre è sufficiente.

502 Bad Gatway

Questo errore HTTP non è molto comune ma si può verificare in diversi casi, i motivi che conducono a questa risposta del server sono svariati. Il codice 502 Bad Gatway indica che esistono delle difficoltà di comunicazione all’interno del server tra diversi elementi sul suo network, come per esempio il server proxy e il server web.

Semplificando, quindi, è un’incongruenza che spesso non deriva da nessun problema tecnico ma da una momentanea situazione di stallo tecnologico, che potrebbe risolversi da sola entro pochi minuti o, comunque, entro un limite temporale definito.

503 Service unavailable

Questo è il più comune errore HTTP di tipo 5xx. Indica che il serve a cui il client sta inviando la richiesta di accesso non è raggiungibile e i motivi di tale vacanza possono essere innumerevoli. La più comune è il sovraccarico, ossia viene bloccata l’elaborazione delle nuove richieste perché il server non è in grado di soddisfarle tutte. Un’altra causa di risposta 503 è una manutenzione a carico del server che, temporaneamente, viene messo offline per permettere il disbrigo delle operazioni.

504 Gateway Timeout

Il codice di errore HTTP 504 è una risposta a un problema di elaborazione del server che è stato impostato per agire come gateway di rete. In questo caso non si ha un problema sul server che ospita il sito ma sul server che funziona come intermediario tra il client e il server finale.

E’ un errore molto comune: in pratica, nel momento in cui il client invia la domanda, questa passa per il gateway che inoltra la richiesta all’upstream, il server finale. Se non riceve una risposta da quest’ultimo entro un tempo definito, il server di gateway mette in timeout la richiesta, che decade e dev’essere nuovamente inoltrata per essere elaborata.

Conclusioni

Concludendo la trattazione dell’argomento, si può dire che i codici di errore HTTP sono dei messaggi che aiutano l’utente e gli amministratori a gestire i problemi più comuni che possono verificarsi in un sito web, lato client e lato server.

Gli errori 4xx sono derivati da un errore alla fonte del processo e non sono da attribuire da anomalie o malfunzionamenti sul sito web richiesto, al contrario degli errori 5xx che, invece, segnalano problemi a carico dei server che gestiscono le richieste, che possono essere risolti solo dall’interno.