Cosa sono gli status code HTTP
Gli status code HTTP sono codici di risposta standard emessi dal server web al client (di solito un browser web) per indicare lo stato della richiesta HTTP appena effettuata. Ogni status code è un numero di tre cifre e sono raggruppati in cinque classi che indicano diverse categorie di risposta.
Ecco una panoramica delle classi e alcuni esempi comuni:
- 1xx – Risposte informative: Questa classe di codici indica una reazione preliminare dal server e che il processo sta proseguendo.
100 Continue
: Il server ha ricevuto l’intestazione della richiesta e il client dovrebbe continuare con il corpo della richiesta.
- 2xx – Successi: Questi codici indicano che la richiesta è stata ricevuta, compresa e accettata correttamente.
200 OK
: La richiesta è andata a buon fine e la risposta contiene il risultato richiesto.201 Created
: La richiesta è andata a buon fine e come risultato è stata creata una nuova risorsa.204 No Content
: La richiesta è andata a buon fine ma non c’è nessun contenuto da inviare nella risposta.
- 3xx – Reindirizzamenti: Questi codici indicano che è necessario eseguire ulteriori azioni per completare la richiesta, spesso sotto forma di reindirizzamento a un’altra URL.
301 Moved Permanently
: La risorsa richiesta è stata spostata permanentemente a un nuovo URI.302 Found
: La risorsa richiesta è stata temporaneamente spostata a un nuovo URI.304 Not Modified
: La risorsa richiesta non è stata modificata dall’ultimo accesso.
- 4xx – Errori del client: Questi codici indicano che la richiesta non è stata effettuata correttamente a causa di un errore del client.
400 Bad Request
: La richiesta non può essere processata dal server a causa di un errore di sintassi.401 Unauthorized
: Autenticazione è necessaria e non è stata fornita o ha fallito.404 Not Found
: Il server non ha trovato nulla che corrispondesse all’URI della richiesta.429 Too Many Requests
: Il client ha mandato troppe richieste in un dato lasso di tempo.
- 5xx – Errori del server: Questi codici sono inviati quando il server ha fallito nel completare una richiesta apparentemente valida.
500 Internal Server Error
: Il server ha incontrato una condizione inaspettata che gli ha impedito di soddisfare la richiesta.501 Not Implemented
: Il server non supporta la funzionalità richiesta o non è in grado di gestirla.503 Service Unavailable
: Il server è momentaneamente non disponibile, spesso per manutenzione o sovraccarico.
Gli HTTP status code sono definiti nello standard del protocollo HTTP, il quale è mantenuto dal Internet Assigned Numbers Authority (IANA) in collaborazione con il World Wide Web Consortium (W3C) e l’Internet Engineering Task Force (IETF).
Cosa vuol dire HTTP Status Code?
Il termine “HTTP Status Code” si riferisce a un codice numerico che viene inviato da un server HTTP a un client per indicare l’esito di una richiesta HTTP fatta dal client. Questo codice di stato è parte della prima riga dell’intestazione della risposta HTTP. Il codice aiuta il client a comprendere se la richiesta è stata processata con successo, se ci sono problemi da parte del client, se ci sono problemi da parte del server, o se è necessario compiere ulteriori azioni.
Ogni status code è un numero di tre cifre e fornisce informazioni rapide su:
- Se una richiesta è stata completata con successo.
- Se è necessario un’ulteriore azione per completarla.
- Se si è verificato un errore nel processo di richiesta-risposta.
Il significato dei codici è standardizzato e permette ai client di agire di conseguenza, automatizzando le risposte a certe condizioni o presentando messaggi appropriati agli utenti.
Cosa significa errore HTTP?
Un errore HTTP indica che c’è stato un problema durante la comunicazione tra il client (spesso un browser web) e il server durante il processo di richiesta e risposta secondo il protocollo HTTP. Questi errori sono rappresentati dai codici di stato HTTP che iniziano generalmente con i numeri 4 o 5.
- Errori 4xx: Indicano un errore da parte del client. In altre parole, la richiesta ha contenuto qualcosa che non va, come un problema di sintassi, una richiesta di una risorsa inesistente, o l’utente non ha i permessi necessari per accedere al contenuto richiesto.Esempi comuni:
- 404 Not Found: La risorsa richiesta non è stata trovata sul server.
- 400 Bad Request: Il server non riesce a comprendere la richiesta a causa di una sintassi non valida.
- 401 Unauthorized: Per accedere alla risorsa richiesta è necessaria l’autenticazione che non è stata fornita o non è valida.
- 403 Forbidden: Il server ha capito la richiesta ma si rifiuta di autorizzarla.
- Errori 5xx: Indicano un errore lato server. Significa che il server ha incontrato una situazione che non sa come gestire o ha problemi interni che impediscono l’elaborazione della richiesta.Esempi comuni:
- 500 Internal Server Error: Un errore generico che indica un problema non specificato sul server.
- 503 Service Unavailable: Il server non è temporaneamente in grado di gestire la richiesta, spesso a causa di sovraccarico o manutenzione.
- 502 Bad Gateway: Il server ha ricevuto una risposta non valida mentre fungeva da gateway o proxy.
Questi errori sono fondamentali nella diagnostica di problemi di comunicazione web, poiché indicano al client o all’amministratore di sistema la natura del problema e dove potrebbe trovarsi la fonte dell’errore.
Ecco una lista dei principali status
Codice dello status | Descrizione |
100 | Indica che l’header della richiesta è stato ricevuto e che il client può continuare con il resto della richiesta. |
101 | Il server comprende e accetta l’upgrade richiesto dal client, e procederà a cambiare il protocollo. |
200 | La richiesta è stata gestita con successo. Il significato esatto varia a seconda del metodo HTTP usato. |
201 | Indica che la richiesta ha avuto successo e ha portato alla creazione di una nuova risorsa. |
202 | La richiesta è stata accettata per l’elaborazione, ma questa non è stata completata. |
203 | TODO – descrizione dettagliata in italiano mancante per il codice 203 |
204 | La richiesta è stata gestita con successo ma non c’è nessun contenuto da inviare in risposta. |
301 | Questa risposta indica che l’URI della risorsa richiesta è stato modificato permanentemente. |
302 | Il server invia questa risposta per indirizzare il client ad ottenere la risorsa richiesta da un altro URI. |
303 | La risposta a una richiesta GET deve essere recuperata da un altro URI usando il metodo GET. |
304 | Questa risposta è usata per scopi di cache e indica che la risorsa non è stata modificata. |
400 | Generalmente significa che la richiesta non può essere processata a causa di errore sintattico. |
401 | La richiesta non è stata eseguita perché manca la validazione dell’autenticazione per la risorsa target. |
402 | TODO – descrizione dettagliata in italiano mancante per il codice 402 |
403 | Il server ha compreso la richiesta ma si rifiuta di autorizzarla. |
404 | Il server non può trovare la risorsa richiesta. Questo codice è usato quando la risorsa non esiste. |
405 | Il metodo di richiesta è conosciuto dal server ma è stato disabilitato e non può essere usato. |
406 | Questa risposta è inviata quando il server non riesce a generare una risposta che rispetti le preferenze del client. |
407 | TODO – descrizione dettagliata in italiano mancante per il codice 407 |
408 | Il server vuole chiudere questa connessione inutilizzata perché il client non ha inviato una richiesta nel tempo previsto. |
409 | Questa risposta è inviata quando una richiesta entra in conflitto con lo stato corrente del server. |
410 | Significa che la risorsa richiesta non è più disponibile e sarà rimossa in modo permanente. |
411 | Il server ha rifiutato la richiesta perché l’header Content-Length non è definito e il server lo richiede. |
412 | Il client ha indicato prerequisiti nei suoi header che il server non soddisfa. |
413 | La richiesta è più grande di quanto il server è disposto o in grado di processare. |
414 | L’URI richiesto dal client è più lungo di quanto il server è disposto ad interpretare. |
415 | Il formato media della richiesta non è supportato dal server, quindi il server rifiuta la richiesta. |
416 | La porzione di risorse richiesta non può essere fornita dal server o è fuori dall’intervallo valido. |
417 | Le aspettative indicate nella richiesta non possono essere soddisfatte dal server. |
451 | Questa risposta viene utilizzata quando l’accesso alla risorsa richiesta è legale, ma il server sta rifiutando di rispondere alla richiesta per motivi legali. |
501 | Il metodo della richiesta non è supportato dal server e non può essere gestito. Solo le richieste GET e HEAD sono supportate da default. |
502 | Il server, mentre agiva da gateway o proxy, ha ricevuto una risposta non valida dal server upstream a cui aveva acceduto per esaudire la richiesta. |
503 | Il server non è pronto per gestire la richiesta a causa di manutenzione temporanea o sovraccarico. |
504 | Il server, mentre agiva da gateway o proxy, non ha ricevuto in tempo una risposta dal server upstream o da un servizio ausiliario di cui aveva bisogno per completare la richiesta. |
505 | La versione HTTP usata nella richiesta non è supportata dal server. |
Gli errori più comuni: Status Code 4xx HTTP
Gli status code 4xx indicano errori legati alla richiesta del client, come ad esempio quando viene richiesta una pagina inesistente o quando si ha un accesso non autorizzato. Questi codici di stato possono influenzare negativamente l’esperienza degli utenti e la visibilità delle pagine sui motori di ricerca. Alcuni degli errori comuni rappresentati dagli status code 4xx includono:
- 400 Bad Request: Questo status code indica un errore nella richiesta effettuata al server. Può essere causato da una sintassi errata nella richiesta o da dati non validi.
- –404 Not Found: Questo status code indica che la pagina richiesta non è stata trovata sul server. È uno degli errori più comuni e può essere causato da una pagina eliminata o rinominata senza l’implementazione di un reindirizzamento corretto.
- 403 Forbidden: Questo status code indica che l’accesso alla risorsa richiesta è vietato. Può essere causato da una configurazione errata dei permessi di accesso alla pagina o da restrizioni imposte dal server.
Risolvere problemi di server: Status Code 5xx HTTP
Gli status code 5xx indicano problemi lato server, come ad esempio un server non disponibile o un errore interno del server. Quando si incontrano questi status code, è fondamentale risolvere rapidamente il problema per garantire che le pagine siano correttamente indicizzate dai motori di ricerca. Alcuni degli status code 5xx più comuni includono:
- 500 Internal Server Error: Questo status code indica un errore interno del server. Può essere causato da un errore nella configurazione del server o da problemi di codice sul sito web.
- 503 Service Unavailable: Questo status code indica che il server non è attualmente disponibile per elaborare la richiesta. Può essere causato da un sovraccarico del server o da manutenzione in corso.
Come verificare gli status code
La verifica degli status code delle pagine del proprio sito web è fondamentale per garantire un’indicizzazione corretta dei motori di ricerca. Esistono diverse metodologie per verificare gli status code, tra cui:
- Screaming Frog: basta una scansione velocissima e nella colonna “Codice” trovi tutto
- Semrush
- Seozoom