Cosa sono e cosa indicano i Codici di stato HTTP

0
2229

Quando al tuo server viene inviata la richiesta di una pagina del tuo sito (ad esempio, quando un utente accede alla tua pagina in un browser), il tuo server restituisce un codice di stato HTTP in risposta alla richiesta.

Questo codice di stato fornisce informazioni sullo stato della richiesta e fornisce informazioni sul tuo sito e sulla pagina richiesta.

Alcuni dei codici di stato HTTP che si incontrano più comunemente sono:

  • 200 – il server ha restituito la pagina con esito positivo
  • 404 – la pagina richiesta non esiste
  • 503 – il server non è temporaneamente disponibile

Di seguito riportiamo un elenco completo dei codici di stato HTTP.

1xx (Risposta provvisoria)
Codici di stato che indicano una risposta provvisoria e chiedono al richiedente di eseguire un’azione per continuare.

Codice Descrizione
100 (Continua) Il richiedente deve continuare con la richiesta. Il server restituisce questo codice per indicare che ha ricevuto la prima parte di una richiesta ed è in attesa del resto.
101 (Passaggio da un protocollo all’altro in corso) Il richiedente ha richiesto un cambio di protocollo e il server comunica che ha accettato tale richiesta e la porterà a termine.

2xx (Esito positivo)

Codici di stato indicanti che il server ha elaborato la richiesta con esito positivo.

Codice Descrizione
200 (Esito positivo) Il server ha elaborato la richiesta con esito positivo. In genere, ciò significa che il server ha fornito la pagina richiesta.
201 (Creato) La richiesta è riuscita e il server ha creato una nuova risorsa.
202 (Accettato) Il server ha accettato la richiesta, ma non l’ha ancora elaborata.
203 (Informazioni non attendibili) Il server ha elaborato la richiesta, ma restituisce informazioni che potrebbero provenire da un’altra origine.
204 (Nessun contenuto) Il server ha elaborato la richiesta, ma non restituisce alcun contenuto.
205 (Reimposta contenuto) Il server ha elaborato la richiesta, ma non restituisce alcun contenuto. A differenza della risposta 204, questa risposta richiede che il richiedente reimposti la visualizzazione del documento (ad esempio, cancellare il contenuto di un modulo per procedere a un nuovo inserimento).
206 (Contenuto parziale) Il server ha elaborato con esito positivo una richiesta GET parziale.

3xx (Reindirizzato)
Sono richieste ulteriori azioni per soddisfare la richiesta. Spesso questi codici di stato sono utilizzati per il reindirizzamento.

Codice Descrizione
300 (Scelta multipla) Il server ha a disposizione varie azioni a seconda della richiesta. Il server può scegliere un’azione in base al richiedente (user-agent) oppure può presentare un elenco affinché il richiedente possa scegliere un’azione.
301 (Spostato in modo permanente) La pagina richiesta è stata spostata in modo permanente in una nuova posizione. Quando il server restituisce questa risposta (come una risposta a una richiesta GET o HEAD), trasferisce automaticamente il richiedente alla nuova posizione.
302 (Spostato temporaneamente) Il server sta rispondendo alla richiesta con una pagina da un’altra posizione, ma il richiedente deve continuare a utilizzare la posizione originale per le richieste future. Questo codice è simile al codice 301 per una richiesta GET o HEAD in quanto trasferisce automaticamente il richiedente a un altro indirizzo;
303 (Vedere altra posizione) Il server restituisce questo codice se, per recuperare la risposta, il richiedente deve effettuare una richiesta GET distinta a un’altra posizione. Per tutte le richieste diverse da una richiesta HEAD, il server trasferisce automaticamente all’altra posizione.
304 (Non modificato) La pagina richiesta non è stata modificata dopo l’ultima richiesta. Quando restituisce questa risposta, il server non restituisce i contenuti della pagina.Devi configurare il tuo server in modo che restituisca questa risposta (chiamata intestazione HTTP If-Modified-Since) quando una pagina non è stata modificata dall’ultima volta in cui il richiedente l’ha richiesta.
305 (Utilizza proxy) Il richiedente può accedere alla pagina richiesta solo utilizzando un proxy. Quando il server restituisce questa risposta, indica anche il proxy che il richiedente deve utilizzare.
307 (Reindirizzamento temporaneo) Il server sta rispondendo alla richiesta con una pagina da un’altra posizione, ma il richiedente deve continuare a utilizzare la posizione originale per le richieste future. Questo codice è simile al codice 301 per una richiesta GET o HEAD in quanto trasferisce automaticamente il richiedente a un altro indirizzo;

4xx (Errore nella richiesta)
Questi codici di stato indicano che probabilmente la richiesta conteneva un errore che ha impedito al server di elaborarla.

Codice Descrizione
400 (Richiesta non valida) Il server non ha riconosciuto la sintassi della richiesta.
401 (Non autorizzata) La richiesta richiede autenticazione. Il server potrebbe restituire questa risposta per una pagina che richiede una procedura di accesso.
403 (Non consentito) Il server sta rifiutando la richiesta.
404 (Non trovato) Il server non trova la pagina richiesta. Ad esempio, il server spesso restituisce questo codice se la richiesta viene inviata per una pagina che non esiste sul server.
405 (Metodo non consentito) Il metodo specificato nella richiesta non è consentito.
406 (Non accettabile) La pagina richiesta non riesce a rispondere con le caratteristiche di contenuto richieste.
407 (Autenticazione proxy richiesta) Questo codice di stato è simile a 401 (Non autorizzato), ma specifica che il richiedente deve eseguire l’autenticazione tramite un proxy. Quando il server restituisce questa risposta, indica anche il proxy che il richiedente deve utilizzare.
408 (Timeout richiesta) Il tempo di attesa per la richiesta del server è scaduto.
409 (Conflitto) Il server ha incontrato un conflitto nel soddisfare la richiesta. Nella risposta il server deve includere informazioni sul conflitto. Il server potrebbe restituire questo codice in risposta a una richiesta PUT in conflitto con una richiesta precedente, unitamente a un elenco delle differenze tra le richieste.
410 (Non più disponibile) Il server restituisce questa risposta quando la risorsa richiesta è stata rimossa in modo permanente. È simile al codice 404 (Non trovato), ma è utilizzato a volte in sostituzione del codice 404 per risorse che esistevano, ma che ora sono state rimosse. Se la risorsa è stata rimossa in modo permanente, devi utilizzare il codice 301 per specificare la nuova posizione della risorsa.
411 (Lunghezza richiesta) Il server non accetta la richiesta senza un campo intestazione Content-Length valido.
412 (Precondizione fallita) Il server non soddisfa una delle condizioni preliminari che il richiedente ha specificato per la richiesta.
413 (Entità della richiesta troppo estesa) Il server non riesce a elaborare la richiesta in quanto troppo grande da gestire.
414 (URI richiesto troppo lungo) L’URI richiesto (in genere un URL) è troppo lungo e il server non riesce a elaborarlo.
415 (Formato non supportato) La richiesta è in un formato non supportato dalla pagina richiesta.
416 (Intervallo richiesto non corretto) Il server restituisce questo codice di stato se la richiesta è riferita a un intervallo non disponibile per la pagina.
417 (Attesa non riuscita) Il server non riesce a soddisfare i requisiti del campo Expect request-header.

5xx (Errore del server)
Questi codici di stato indicano che si è verificato un errore interno del server durante il tentativo di elaborazione della richiesta. Questi errori sono tendenzialmente nel server stesso, non nella richiesta.

Codice Descrizione
500 (Errore interno del server) Si è verificato un errore nel server, il quale non riesce a soddisfare la richiesta.
501 (Non implementato) Il server non dispone delle funzionalità per soddisfare la richiesta e potrebbe restituire questo codice se, ad esempio, non riconosce il metodo della richiesta.
502 (Gateway non valido) Il server stava operando in qualità di gateway o proxy e ha ricevuto una risposta non valida dal server a monte.
503 (Servizio non disponibile) Il server non è al momento disponibile (in quanto sovraccarico o non in servizio per manutenzione). In genere si tratta di uno stato temporaneo.
504 (Timeout del gateway) Il server stava operando in qualità di gateway o proxy e non ha ricevuto una risposta nei tempi previsti dal server a monte.
505 (Versione HTTP non supportata) Il server non supporta la versione del protocollo HTTP utilizzata nella richiesta.

Se avete qualche dubbio, fateci sapere.