Codici di risposta: 500, 404, 403 e compagnia bella

Codici di risposta: 500, 404, 403 e compagnia bella

Ogni volta che facciamo una richiesta online, su web o app, tale richiesta HTTP fa generare uno specifico codice di risposta, che ne indica lo stato.
Si tratta di codici a 3 cifre raggruppati in 5 categorie specifiche, indicate dalla prima cifra del codice: 1xx 2xx 3xx 4xx e 5xx.

Informazione

Risposta esatta!

Reindirizzamento

Errore del client

Errore del server

Quelli su cui focalizzare maggiormente l’attenzione quando si parla di “problemi di risposta HTTP” sono i codici di risposra 4xx e 5xx, solitamente individuabili nell’errore 404, 403 e 500.

Codici di risposta HTTP 4xx: Errore del client

Sono gli errori generati lato client, ossia dalla parte dell’utente che sta cercando di accedere ad una risorsa web, tramite il suo browser solitamente. Pur essendo generati dal client, vanno analizzati e corretti.
Sono codici di risposta che vanno da 400 a 499, ma quelli che più frequentemente incontriamo sono gli errori 404 e 403.

Errore 400 Bad Request

Significa che la risposta che riceviamo è dovuta ad una richiesta con una sintassi sbagliata, per l’appunto una “bad request”.
Potrebbe derivare da un cookie gestito male o da una cache preesistente altrettanto mal gestita, o potrebbe derivare anche da un problema software del browser che si sta usando… anche se spesso è dovuta all’errore umano.

Errore 401 Non autorizzato

Succede quando si cerca di accedere ad una risorsa senza la dovuta autorizzazione o autenticazione: solitamente basta inserire le credenziali e richiamare la risorsa HTTP desiderata.
Può siccedere quando si salva nella cronologia o nei preferiti una pagina riservata, accessibile dopo autenticazione, e si cerca di accedervi senza fornire le credenziali o il login (lato server).

Errore 403 Forbidden

La risorsa c’è, la richiesta è corretta, ma il server non fornisce quanto richiesto per una mancanza di autorizzazione da parte di chi fa la richiesta ad accedere al file. Non è una mancata autorizzazione, perchè non parliamo di risorse protette da autenticazione, ma di mancato permesso.
Tutti i file presenti sui server web hanno infatti dei livelli di permesso: un utente che naviga viene individuato ed identificato dal server come un “www-data” e se i file di un sito web non sono resi accessibili a tale utente, ecco che potrebbe comparire questo codice di risposta.
Un altro caso potrebbe essere quando il file .htaccess blocca temporaneamente le risorse a determinati IP o referral.
Un altro caso ancora potrebbe essere se l’utente cerca di accedere ad una directory in cui manca il file “indice” che solitamente si identifica in index.html (ma che può essere personalizzato dal gestore del server), per cui risponde con un errore 403.

Errore 404 Non Trovato

Classico caso in cui cerchiamo una risorsa web e questa non viene più trovata: l’utente fa una corretta interrogazione al server, che comprende l’interrogazione, la elabora… ma la risorsa richiesta non è presente o non viene trovata.
Capita molto spesso quando un sito viene rimaneggiato, e non vengono gestiti adeguatamente gli indirizzi URL delle pagine web: se cambio URL, chiunque richiami l’URL vecchio otterrà un errore 404, a meno che non gestisca i reindirizzamenti in modo corretto.

Codici di risposta HTTP 5xx: Errori del server

Sono i codici di errore generati dal server web su cui risiede la risorsa che si sta cercando di “contattare”, per problemi di elaborazione della richiesta o per problemi di gestione della risposta.
Vallo dal codice 500 al 599, ma quello che più frequentemente incontriamo è l’errore 500.

Errore 500 Internal Server Error

Il server non riesce ad elaborare la richiesta… per un motivo sconosciuto!
Quasi sempre deriva da una configurazione errata del server: file .htaccess mal formatatti o con errori, piuttosto che per pacchetti mancanti nel server o errori nella compatibilità tra impostazioni del server e requisiti delle pagine web e della programmazione.

Errore 502 Bad Gateway

E’ un errore di connessione, che spesso si presenta quando il server interpellato è un proxy o un server di bilanciamento delle risorse e non sta ricevendo la giusta risposta dal server a cui si interfaccia… a volte per problemi di configurazione, o per problemi con le impostazioni dei firewall.

Errore 503 Servizio non disponibile

Potrebbe darsi che il server sia sovraccarico, per cui non riesce a rispondere alle richieste che gli vengono inviate.

Errore 504 Gateway Timeout

Come nel caso dell’errore 502, spesso siamo di fronte ad un gateway o un proxy, che non riceve risposta dal server di back-end in un tempi limite stabilito, per cui va in timeout e fornisce il codice di risposta 504.

Teniamo sotto controllo il nostro sito ed i codici di risposta delle risorse HTTP

Per evitare che si generino questi codici di errore e quindi per garantire una buona navigabilità nel proprio sito web è buona cosa tenere sotto controllo le varie pagine web e le risposte del server:

  • possiamo sfruttare dei tools che scansionano l’intero sito indicandoci i codici di risposta HTTP di ogni risorsa che viene richiamata, come ad esempio screamingfrog
  • possiamo sfruttare dei tools programmati di controllo dell’intero sito, sia per la sua ottimizzazione che per la sua “salute”, come ad esempio site audit di semrush
  • possiamo utilizzare plugin o componenti per controllare i log generati dai web server (come ad esempio Apache e Nginx, che compilano i file access.log ed error.log)

Verifica che il tuo sito non presenti problemi o codici di risposta poco piacevoli per i tuoi potenziali clienti