Skip to content

Cheat sheet dei codici di stato HTTP

Risposte informative

Codice di stato Frase di motivo Significato Versione HTTP
100 Continue Il client dovrebbe continuare a inviare la richiesta. Questa risposta temporanea viene utilizzata per informare il client che parte della sua richiesta è stata ricevuta dal server e non è stata ancora rifiutata. Il client dovrebbe continuare a inviare il resto della richiesta o, se la richiesta è già completa, ignorare questa risposta. Il server deve inviare una risposta finale al termine della richiesta. HTTP/1.1 Disponibile
101 Switching Protocols Il server ha compreso la richiesta del client e lo informerà tramite l’intestazione del messaggio Upgrade di utilizzare un protocollo diverso per completare la richiesta. Dopo l’invio dell’ultima riga vuota di questa risposta, il server passerà ai protocolli definiti nell’intestazione del messaggio Upgrade. Questa misura dovrebbe essere adottata solo quando il passaggio a un nuovo protocollo è più vantaggioso. Ad esempio, il passaggio a una nuova versione di HTTP è più vantaggioso di una versione precedente, o il passaggio a un protocollo sincrono in tempo reale per fornire risorse che utilizzano tali funzionalità. HTTP/1.1 Disponibile

Risposte di successo

Codice di stato Frase di motivo Significato Versione HTTP
200 OK La richiesta è andata a buon fine. Il significato del successo varia a seconda del metodo utilizzato dalla richiesta.- GET: la risorsa è stata estratta e restituita al client come corpo della risposta.- HEAD: l’intestazione dell’entità è stata restituita al client come intestazione della risposta.- POST: dopo che il server ha elaborato i dati inviati dal client, la risorsa appropriata viene restituita al client come corpo della risposta.- TRACE: il messaggio di richiesta ricevuto dal server viene restituito al client come corpo della risposta. HTTP/0.9 Disponibile
201 Created La richiesta è andata a buon fine e una nuova risorsa è stata creata in base alle esigenze della richiesta. Questo è solitamente il codice di risposta ottenuto dal metodo PUT. HTTP/0.9 Disponibile
202 Accepted Il server ha accettato la richiesta ma non l’ha ancora elaborata. Proprio come potrebbe essere rifiutata, la richiesta potrebbe essere eseguita o meno in definitiva. Nelle operazioni asincrone, non esiste un modo più conveniente che inviare questo codice di stato. Lo scopo di restituire una risposta con codice di stato 202 è consentire al server di accettare richieste per altri processi (ad esempio, un’操作 batch che viene eseguita solo una volta al giorno) senza dover mantenere il client connesso fino al completamento dell’operazione batch. La risposta che restituisce il codice di stato 202 dovrebbe includere alcune informazioni che indichino lo stato corrente dell’elaborazione nell’entità e un puntatore a un monitor dello stato di elaborazione o una previsione dello stato, in modo che l’utente possa stimare se l’operazione è stata completata. HTTP/0.9 Disponibile
203 Non-Authoritative Information Il server ha elaborato correttamente la richiesta, ma le meta-informazioni dell’intestazione dell’entità restituite non sono un set deterministico valido sul server di origine, ma provengono da una copia locale o di terze parti. In caso contrario, l’utilizzo del codice di stato 200 è il più appropriato. HTTP/0.9 e 1.1
204 No Content Non è presente alcun contenuto della risposta, solo le intestazioni della risposta. Anche le intestazioni delle risposte possono essere utili. Gli user agent possono aggiornare le informazioni della cache delle risorse corrispondenti in base alle nuove intestazioni della risposta. HTTP/0.9 Disponibile
205 Reset Content Indica allo user agent di reimpostare la visualizzazione del documento della finestra che ha inviato la richiesta. HTTP/1.1 Disponibile
206 Partial Content Questo codice di stato viene utilizzato quando il client scarica file in segmenti utilizzando il campo dell’intestazione range. HTTP/1.1 Disponibile

Messaggi di reindirizzamento

Codice di stato Frase di motivo Significato Versione HTTP
300 Multiple Choice Esistono più risposte possibili alla richiesta e lo user agent o l’utente deve sceglierne una. Il server non dispone di alcuno standard da seguire per sostituire l’utente nell’effettuare la scelta. HTTP/1.0 e versioni successive
301 Moved Permanently Questo codice di stato indica che il percorso della risorsa URI richiesta è cambiato e che il nuovo URL verrà trovato nel campo dell’intestazione Location della risposta. HTTP/0.9 Disponibile
302 Found Questo codice di stato indica che il percorso della risorsa URI richiesta è cambiato temporaneamente e potrebbe continuare a cambiare. Pertanto, il client dovrebbe continuare a utilizzare questo URI per gli accessi futuri. Il nuovo URL verrà trovato nel campo dell’intestazione Location: della risposta. HTTP/0.9 Disponibile
303 See Other Il server invia questa risposta per guidare il client a utilizzare il metodo GET per accedere a un altro URI. HTTP/0.9 e 1.1
304 Not Modified Comunica al client che il contenuto richiesto non è cambiato dall’ultimo accesso. Il client può ottenere la risorsa direttamente dalla cache del browser. HTTP/0.9 Disponibile
305 Use Proxy La risorsa richiesta deve essere consultata tramite un proxy. Per motivi di sicurezza, questo codice di stato non è ampiamente supportato. HTTP/1.1 Disponibile
306 unused Questo codice di stato non è più utilizzato; era originariamente utilizzato nelle versioni precedenti della specifica HTTP 1.1. HTTP/1.1 Disponibile
307 Temporary Redirect Il server invia questa risposta per guidare il client a utilizzare lo stesso metodo per accedere a un altro URI per ottenere la risorsa desiderata. Il nuovo URL verrà trovato nel campo dell’intestazione Location: della risposta. Ha la stessa semantica del codice di stato 302 e per entrambi gli accessi deve essere utilizzato lo stesso metodo (GET, POST). HTTP/1.1 Disponibile
308 Permanent Redirect La risorsa richiesta si troverà permanentemente su un altro URI. Il nuovo URL verrà trovato nel campo dell’intestazione Location: della risposta. Ha la stessa semantica del codice di stato 301 e per entrambi gli accessi deve essere utilizzato lo stesso metodo (GET, POST). HTTPbis (bozza sperimentale)

Risposte di errore del client

Codice di stato Frase di motivo Significato Versione HTTP
400 Bad Request Il server non può leggere correttamente la richiesta a causa di un errore di sintassi nella richiesta inviata. HTTP/0.9 Disponibile
401 Unauthorized Per ottenere il contenuto richiesto è necessaria l’autenticazione, analogamente a un errore 403. La differenza è che dopo un errore 401 l’autenticazione può essere superata purché vangano inseriti l’account e la password corretti. HTTP/0.9 Disponibile
402 Payment Required Questo codice di stato è riservato per un uso futuro. Lo scopo iniziale della creazione di questo codice era per i sistemi di pagamento digitale; tuttavia, non è stato ancora messo in uso. HTTP/0.9 e 1.1
403 Forbidden Il client non ha il diritto di accedere al contenuto richiesto e il server rifiuta la richiesta. HTTP/0.9 Disponibile
404 Not Found Il server non riesce a trovare la risorsa richiesta. Poiché ciò accade di frequente, questo codice di stato è molto comune durante la navigazione sul web. HTTP/0.9 Disponibile
405 Method Not Allowed Il metodo utilizzato dalla richiesta è proibito dal server. RFC2616 stabilisce che i metodi GET e HEAD non possono essere proibiti. HTTP/1.1 Disponibile
406 Not Acceptable Non è stato trovato alcun contenuto idoneo da restituire al client dopo la negoziazione del contenuto guidata dal server. HTTP/1.1 Disponibile
407 Proxy Authentication Required Simile al codice di stato 401, ma l’autenticazione è richiesta tramite un proxy. HTTP/1.1 Disponibile
408 Request Timeout Il client non ha completato l’invio di una richiesta entro il tempo in cui il server era pronto ad attendere. Ciò significa che il server interromperà la connessione con il client. Questa risposta è più comune in altri browser, come Chrome e IE9, allo scopo di accelerare le velocità di navigazione utilizzando il meccanismo di preconnessione HTTP. Si noti inoltre che alcuni server interrompono la connessione direttamente senza inviare tale risposta. HTTP/1.1 Disponibile
409 Conflict Questa richiesta è in conflitto con lo stato attuale del server. HTTP/1.1 Disponibile
410 Gone La risorsa richiesta è stata eliminata. HTTP/1.1 Disponibile
411 Length Required Il server rifiuta la richiesta perché richiede il campo dell’intestazione Content-Length in questa richiesta, ma il client non l’ha inviato. HTTP/1.1 Disponibile
412 Precondition Failed Il server non ha soddisfatto le precondizioni impostate dal client nei campi dell’intestazione della richiesta durante l’acquisizione della risorsa. HTTP/1.1 Disponibile
413 Request Entity Too Large La dimensione dell’entità della richiesta supera il limite massimo impostato dal server; il server può chiudere la connessione HTTP e restituire il campo dell’intestazione Retry-After. HTTP/1.1 Disponibile
414 Request-URI Too Long L’indirizzo URI contenuto nella richiesta del client è troppo lungo perché il server possa elaborarlo. HTTP/1.1 Disponibile
415 Unsupported Media Type Il server non supporta il tipo di supporto richiesto dal client e pertanto rifiuta la richiesta. HTTP/1.1 Disponibile
416 Requested Range Not Satisfiable Il campo dell’intestazione Range incluso nella richiesta non può essere soddisfatto, solitamente perché l’intervallo di numeri in Range supera la dimensione della risorsa richiesta. HTTP/1.1 Disponibile
417 Expectation Failed Il contenuto previsto specificato nell’intestazione della richiesta Expect non può essere soddisfatto dal server. HTTP/1.1 Disponibile

Risposte di errore del server

Codice di stato Frase di motivo Significato Versione HTTP
500 Internal Server Error Il server ha riscontrato un problema sconosciuto e irrisolvibile. HTTP/0.9 Disponibile
501 Not Implemented Il server non supporta il metodo utilizzato nella richiesta, come POST e PUT. Solo GET e HEAD sono i metodi che il server deve implementare come specificato nella specifica RFC2616. HTTP/0.9 Disponibile
502 Bad Gateway Il server funge da gateway e riceve una risposta HTTP non valida dal server upstream. HTTP/0.9 Disponibile
503 Service Unavailable Il server non è attualmente in grado di gestire la richiesta a causa di una manutenzione temporanea del server o di un sovraccarico. Questa situazione è temporanea e si riprenderà dopo un certo periodo di tempo. Se è possibile stimare il tempo di ritardo, la risposta può includere un’intestazione Retry-After: per indicare tale tempo di ritardo. Se non viene fornita alcuna informazione Retry-After:, il client dovrebbe gestirla come una risposta 500. Nel frattempo, in questo caso, dovrebbe essere restituita una pagina intuitiva che spieghi il problema con il server e dovrebbero essere incluse anche le informazioni dell’intestazione HTTP correlate alla cache, poiché solitamente tali pagine con suggerimenti sugli errori non dovrebbero essere memorizzate nella cache dal client. HTTP/0.9 Disponibile
504 Gateway Timeout Il server funge da gateway e non riesce a ottenere una risposta tempestiva dal server upstream da restituire al client. HTTP/1.1 Disponibile
505 HTTP Version Not Supported Il server non supporta la versione del protocollo HTTP utilizzata nella richiesta HTTP inviata dal client. HTTP/1.1 Disponibile