Riferimento Codici di Stato HTTP gratis
Riferimento ricercabile per tutti i codici di stato HTTP — cosa significa ciascuno, quando viene usato e le cause comuni. Da 100 a 511.
61 codici di stato
100Continua
Il server ha ricevuto le intestazioni della richiesta e il client deve procedere con il corpo.
Continua
Il server ha ricevuto le intestazioni della richiesta e il client deve procedere con il corpo.
Utilizzato per le richieste con Expect: 100-continue. Il server riconosce che è disposto a ricevere il corpo prima che il client lo invii. Raramente visto nelle moderne app web.
101Cambio dei protocolli
Il server sta cambiando protocolli come richiesto dal client.
Cambio dei protocolli
Il server sta cambiando protocolli come richiesto dal client.
Comunemente utilizzato per gli aggiornamenti WebSocket — il client richiede Upgrade: websocket e il server risponde con 101 per passare.
102Elaborazione
Il server ha ricevuto la richiesta e la sta elaborando, ma non è ancora disponibile alcuna risposta.
Elaborazione
Il server ha ricevuto la richiesta e la sta elaborando, ma non è ancora disponibile alcuna risposta.
Una risposta intermedia WebDAV inviata per evitare timeout del client durante operazioni lunghe. Deprecato — i server moderni non dovrebbero inviarlo.
103Suggerimenti anticipati
Intestazioni preliminari inviate prima della risposta finale.
Suggerimenti anticipati
Intestazioni preliminari inviate prima della risposta finale.
Consente ai server di inviare intestazioni Link (preload/preconnect) mentre la risposta finale è ancora in preparazione, in modo che i browser possano iniziare a recuperare risorse critiche prima.
200OK
La richiesta è riuscita.
OK
La richiesta è riuscita.
La risposta di successo standard. Il significato dipende dal metodo HTTP: GET → risorsa restituita, POST/PUT → azione completata.
201Creato
Una nuova risorsa è stata creata con successo.
Creato
Una nuova risorsa è stata creata con successo.
Comune dopo un POST. La risposta dovrebbe includere un'intestazione Location che punta all'URL della nuova risorsa.
202Accettato
La richiesta è stata accettata per l'elaborazione, ma l'elaborazione non è completa.
Accettato
La richiesta è stata accettata per l'elaborazione, ma l'elaborazione non è completa.
Per operazioni asincrone — il server sta mettendo in coda il lavoro. Il client dovrebbe eseguire il polling di un endpoint di stato o controllare più tardi.
203Informazioni non autorevoli
La risposta è stata modificata da un proxy trasformante.
Informazioni non autorevoli
La risposta è stata modificata da un proxy trasformante.
La richiesta è riuscita, ma un intermediario (come un proxy di caching o trasformazione) ha alterato il payload dal server di origine — ad esempio, ricomprimendo le immagini. Raro nella pratica.
204Nessun contenuto
La richiesta è riuscita ma non c'è un corpo di risposta.
Nessun contenuto
La richiesta è riuscita ma non c'è un corpo di risposta.
Spesso utilizzato per operazioni DELETE o aggiornamenti PUT che non hanno bisogno di restituire un corpo. Il client non dovrebbe navigare lontano dalla pagina corrente.
205Reimposta contenuto
La richiesta è riuscita; il client dovrebbe reimpostare la visualizzazione del documento.
Reimposta contenuto
La richiesta è riuscita; il client dovrebbe reimpostare la visualizzazione del documento.
Come 204, non viene restituito alcun corpo — ma al client viene inoltre detto di reimpostare il modulo o la visualizzazione che ha prodotto la richiesta (es. cancellare i campi del modulo per la prossima voce).
206Contenuto parziale
Il server ha consegnato solo una parte della risorsa.
Contenuto parziale
Il server ha consegnato solo una parte della risorsa.
Risposta a una richiesta Range. Utilizzato dai lettori video e dai gestori di download per riprendere i download interrotti o trasmettere in streaming file di grandi dimensioni.
207Multi-stato
Il corpo della risposta contiene più codici di stato per più operazioni.
Multi-stato
Il corpo della risposta contiene più codici di stato per più operazioni.
WebDAV: un corpo XML riporta l'esito di più operazioni secondarie indipendentemente — ad es. uno spostamento in batch in cui alcuni elementi hanno avuto successo e altri no.
208Già segnalato
I membri di una raccolta sono stati già elencati in precedenza nella risposta.
Già segnalato
I membri di una raccolta sono stati già elencati in precedenza nella risposta.
WebDAV: utilizzato all'interno di risposte 207 Multi-Status per evitare di elencare ripetutamente i membri della stessa raccolta quando i binding creano loop.
226IM utilizzato
La risposta è il risultato di manipolazioni di istanze applicate alla risorsa.
IM utilizzato
La risposta è il risultato di manipolazioni di istanze applicate alla risorsa.
Codifica delta: il server restituisce un diff rispetto a una versione precedente invece della risorsa completa, risparmiando larghezza di banda. Molto raramente implementato.
300Scelte multiple
Sono disponibili più rappresentazioni della risorsa.
Scelte multiple
Sono disponibili più rappresentazioni della risorsa.
Il server offre più opzioni (es. formati o lingue diversi) e il client dovrebbe sceglierne una. Raramente usato, perché la negoziazione automatica del contenuto di solito gestisce questo.
301Spostato permanentemente
La risorsa si è spostata permanentemente a un nuovo URL.
Spostato permanentemente
La risorsa si è spostata permanentemente a un nuovo URL.
Utilizzare per i cambiamenti URL permanenti — i motori di ricerca aggiorneranno il loro indice. L'autorità SEO viene trasferita al nuovo URL.
302Trovato (Reindirizzamento temporaneo)
La risorsa è temporaneamente in un URL diverso.
Trovato (Reindirizzamento temporaneo)
La risorsa è temporaneamente in un URL diverso.
Indica che il reindirizzamento non è permanente. La memorizzazione nella cache è meno aggressiva rispetto a 301. Utilizzare per cose come 'accesso richiesto, reindirizzamento a /login'.
303Vedi altro
Reindirizza a un URL diverso utilizzando GET.
Vedi altro
Reindirizza a un URL diverso utilizzando GET.
Utilizzato dopo i submit di POST — la risposta dice 'il tuo POST ha funzionato, vedi questo URL GET per il risultato'. I browser ottengono sempre il nuovo URL.
304Non modificato
La versione memorizzata nella cache è ancora valida; usala.
Non modificato
La versione memorizzata nella cache è ancora valida; usala.
Risposta a una richiesta condizionale (con intestazioni If-None-Match o If-Modified-Since). Risparmia larghezza di banda — non viene restituito alcun corpo.
307Reindirizzamento temporaneo
Come 302 ma conserva il metodo HTTP originale.
Reindirizzamento temporaneo
Come 302 ma conserva il metodo HTTP originale.
Se l'originale era POST, il reindirizzamento utilizza anche POST. Alternativa moderna a 302 quando la conservazione del metodo è importante.
308Reindirizzamento permanente
Come 301 ma conserva il metodo HTTP originale.
Reindirizzamento permanente
Come 301 ma conserva il metodo HTTP originale.
Sostituzione moderna di 301 quando vuoi che le richieste POST rimangano POST dopo il reindirizzamento.
400Richiesta non valida
Il server non ha potuto comprendere la richiesta a causa di una sintassi non valida.
Richiesta non valida
Il server non ha potuto comprendere la richiesta a causa di una sintassi non valida.
Cause comuni: JSON non valido nel corpo, parametri di query non validi o campi obbligatori mancanti. Controlla il corpo della richiesta e le intestazioni.
401Non autorizzato
L'autenticazione è richiesta e non è stata fornita.
Non autorizzato
L'autenticazione è richiesta e non è stata fornita.
Il client deve includere credenziali di autenticazione (intestazione Authorization, cookie, token). 'Non autorizzato' è un termine improprio — significa davvero 'non autenticato'.
402Pagamento richiesto
Riservato per uso futuro — a volte utilizzato per livelli API a pagamento.
Pagamento richiesto
Riservato per uso futuro — a volte utilizzato per livelli API a pagamento.
Originariamente previsto per i pagamenti digitali. Utilizzo moderno: le API a volte restituiscono 402 quando un utente ha superato la sua quota a pagamento.
403Vietato
Il client è autenticato ma non ha il permesso.
Vietato
Il client è autenticato ma non ha il permesso.
Diverso da 401 — l'utente È connesso, ma il suo account non ha il permesso per questa risorsa. Controlla la logica dei ruoli/permessi.
404Non trovato
La risorsa richiesta non esiste.
Non trovato
La risorsa richiesta non esiste.
O l'URL è sbagliato, la risorsa è stata eliminata o non è mai esistita. I server a volte restituiscono 404 per nascondere che un 403 sarebbe più accurato.
405Metodo non consentito
Il metodo HTTP utilizzato non è consentito per questa risorsa.
Metodo non consentito
Il metodo HTTP utilizzato non è consentito per questa risorsa.
Ad esempio, una richiesta GET a un endpoint che accetta solo POST. La risposta dovrebbe includere un'intestazione Allow che elenca i metodi validi.
406Non accettabile
Nessuna rappresentazione corrisponde alle intestazioni Accept del client.
Non accettabile
Nessuna rappresentazione corrisponde alle intestazioni Accept del client.
Il client ha richiesto un tipo di contenuto, una lingua o una codifica (tramite Accept, Accept-Language, Accept-Encoding) che il server non può soddisfare. Molti server saltano la negoziazione ristretta e restituiscono un valore predefinito.
407Autenticazione proxy richiesta
Il client deve autenticarsi presso il proxy innanzitutto.
Autenticazione proxy richiesta
Il client deve autenticarsi presso il proxy innanzitutto.
Come 401, ma emesso da un proxy: il client deve inviare credenziali Proxy-Authorization. Visto su reti aziendali con proxy autenticanti.
408Timeout della richiesta
Il server ha raggiunto il timeout in attesa della richiesta.
Timeout della richiesta
Il server ha raggiunto il timeout in attesa della richiesta.
Il client ha impiegato troppo tempo per inviare il corpo della richiesta o ha mantenuto la connessione inattiva. Prova a inviare di nuovo la richiesta.
409Conflitto
La richiesta entra in conflitto con lo stato attuale della risorsa.
Conflitto
La richiesta entra in conflitto con lo stato attuale della risorsa.
Solitamente restituito per conflitti di modifica concorrente o creazione duplicata di risorse (ad esempio, creazione di un utente con un'email già esistente).
410Non più disponibile
La risorsa è stata eliminata e non tornerà.
Non più disponibile
La risorsa è stata eliminata e non tornerà.
Più significativo di 404 — il server sa esplicitamente che la risorsa ESISTEVA ma è stata rimossa permanentemente. I motori di ricerca la rimuoveranno dall'indice.
411Lunghezza richiesta
Il server richiede un'intestazione Content-Length.
Lunghezza richiesta
Il server richiede un'intestazione Content-Length.
La richiesta è stata rifiutata perché mancava dell'intestazione Content-Length e il server rifiuta i corpi di dimensioni sconosciute. Aggiungi l'intestazione e riprova.
412Precondizione non soddisfatta
Una condizione nelle intestazioni della richiesta non è stata soddisfatta.
Precondizione non soddisfatta
Una condizione nelle intestazioni della richiesta non è stata soddisfatta.
Restituito quando le intestazioni condizionali come If-Match o If-Unmodified-Since non vengono soddisfatte — solitamente blocco ottimista: qualcun altro ha modificato la risorsa dalla tua versione. Ricarica e riprova.
413Payload troppo grande
Il corpo della richiesta supera il limite di dimensioni del server.
Payload troppo grande
Il corpo della richiesta supera il limite di dimensioni del server.
Comune durante il caricamento di file di grandi dimensioni. La configurazione del server (nginx, apache) imposta una dimensione massima del corpo. Controlla la configurazione del server.
414URI troppo lungo
L'URL della richiesta supera il limite di lunghezza del server.
URI troppo lungo
L'URL della richiesta supera il limite di lunghezza del server.
Solitamente causato da stringhe di query molto lunghe (ad esempio, codifica dei dati in una GET). Passa a un corpo POST oppure aumenta il limite del server se lo controlli.
415Tipo di media non supportato
Il server non riesce a gestire il Content-Type inviato.
Tipo di media non supportato
Il server non riesce a gestire il Content-Type inviato.
Ad esempio, invio di application/xml a un server che accetta solo application/json. Imposta correttamente l'intestazione Content-Type.
416Intervallo non soddisfacibile
L'intervallo di byte richiesto è al di fuori della dimensione della risorsa.
Intervallo non soddisfacibile
L'intervallo di byte richiesto è al di fuori della dimensione della risorsa.
L'intestazione Range richiede una porzione che il file non contiene — ad esempio, ripresa di un download dopo la fine del file. La risposta dovrebbe includere Content-Range con la dimensione effettiva.
417Aspettativa non soddisfatta
Il server non riesce a soddisfare i requisiti dell'intestazione Expect.
Aspettativa non soddisfatta
Il server non riesce a soddisfare i requisiti dell'intestazione Expect.
Inviato quando il server non supporta Expect: 100-continue. Alcuni client inviano questa intestazione per impostazione predefinita su grandi POST; disabilitarla di solito risolve l'errore.
418Sono una teiera
Il server rifiuta di fare il caffè perché è una teiera.
Sono una teiera
Il server rifiuta di fare il caffè perché è una teiera.
Uno scherzo di Pesce d'Aprile del 1998 (RFC 2324). Alcune API reali lo usano per scherzi o per contrassegnare endpoint deprecati. Non per l'uso in produzione.
421Richiesta mal indirizzata
La richiesta è stata inviata a un server che non riesce a produrre una risposta.
Richiesta mal indirizzata
La richiesta è stata inviata a un server che non riesce a produrre una risposta.
Comune con il riutilizzo della connessione HTTP/2: la richiesta ha raggiunto un server non configurato per il nome host di destinazione. Il client dovrebbe riprovare su una nuova connessione.
422Contenuto non elaborabile
La richiesta era sintatticamente valida ma semanticamente scorretta.
Contenuto non elaborabile
La richiesta era sintatticamente valida ma semanticamente scorretta.
Ad esempio, JSON analizzato correttamente ma mancava un campo obbligatorio, oppure il valore di un campo era fuori intervallo. Comune nelle risposte di convalida dell'API REST.
423Bloccato
La risorsa è bloccata.
Bloccato
La risorsa è bloccata.
WebDAV: la risorsa di origine o di destinazione è bloccata da un altro client, quindi l'operazione non può procedere. Attendi che il blocco venga rilasciato oppure rompi il blocco con il token appropriato.
424Dipendenza non soddisfatta
La richiesta non è riuscita perché una precedente richiesta dipendente non è riuscita.
Dipendenza non soddisfatta
La richiesta non è riuscita perché una precedente richiesta dipendente non è riuscita.
WebDAV: in una catena di operazioni dipendenti, un'azione precedente non è riuscita, quindi questa non è stata eseguita. Controlla il fallimento precedente per la causa principale.
425Troppo presto
Il server rifiuta di elaborare una richiesta che potrebbe essere replicata.
Troppo presto
Il server rifiuta di elaborare una richiesta che potrebbe essere replicata.
Correlato a TLS 1.3 0-RTT (dati anticipati): il server non rischia di elaborare una richiesta che potrebbe essere replicata. Il client dovrebbe riprovare dopo il completamento dell'handshake.
426Aggiornamento richiesto
Il client deve passare a un protocollo diverso.
Aggiornamento richiesto
Il client deve passare a un protocollo diverso.
Il server rifiuta di servire la richiesta sul protocollo attuale ma lo farà dopo un aggiornamento — la risposta include un'intestazione Upgrade che nomina il protocollo richiesto.
428Precondizione richiesta
Il server richiede che la richiesta sia condizionale.
Precondizione richiesta
Il server richiede che la richiesta sia condizionale.
Il server richiede intestazioni condizionali (come If-Match) per prevenire conflitti dovuti ad aggiornamenti persi. Preleva la risorsa, acquisisci il suo ETag e invia di nuovo con If-Match.
429Troppe richieste
Il client viene sottoposto a limitazione della velocità.
Troppe richieste
Il client viene sottoposto a limitazione della velocità.
Rallenta. La risposta dovrebbe includere un'intestazione Retry-After che indichi quando riprovare. Comune con le API che hanno quote di richieste.
431Campi di intestazione della richiesta troppo grandi
Le intestazioni sono troppo grandi per essere elaborate dal server.
Campi di intestazione della richiesta troppo grandi
Le intestazioni sono troppo grandi per essere elaborate dal server.
Una singola intestazione o la dimensione totale delle intestazioni supera il limite — il più delle volte causato da cookie di grandi dimensioni. Cancella i cookie o riduci ciò che la tua app archivia.
451Non disponibile per motivi legali
Accesso negato a causa di richieste legali.
Non disponibile per motivi legali
Accesso negato a causa di richieste legali.
La risorsa è bloccata per motivi legali — censura, ordini giudiziari o normative regionali. Il numero è un cenno al romanzo Fahrenheit 451.
500Errore interno del server
Il server ha rilevato una condizione imprevista.
Errore interno del server
Il server ha rilevato una condizione imprevista.
Un catch-all generico per gli errori lato server. Controlla i log del server per la causa effettiva: eccezione non gestita, errore del database, ecc.
501Non implementato
Il server non supporta la funzionalità richiesta.
Non implementato
Il server non supporta la funzionalità richiesta.
Ad esempio, il server non riconosce il metodo HTTP. Raro nella pratica — più spesso vedrai 405.
502Gateway errato
Il server, fungendo da gateway, ha ricevuto una risposta errata da un server upstream.
Gateway errato
Il server, fungendo da gateway, ha ricevuto una risposta errata da un server upstream.
Comune nelle architetture di microservizi. Il tuo load balancer o reverse proxy ha ricevuto una risposta malformata dal servizio di backend.
503Servizio non disponibile
Il server è temporaneamente impossibilitato a gestire la richiesta.
Servizio non disponibile
Il server è temporaneamente impossibilitato a gestire la richiesta.
O inattivo per manutenzione o sovraccarico. La risposta dovrebbe includere un'intestazione Retry-After. Spesso restituito durante i deploy.
504Timeout del gateway
Il server gateway ha raggiunto il timeout in attesa di una risposta upstream.
Timeout del gateway
Il server gateway ha raggiunto il timeout in attesa di una risposta upstream.
Il servizio di backend non ha risposto abbastanza velocemente. Controlla la salute del servizio upstream e le configurazioni dei timeout.
505Versione HTTP non supportata
Il server non supporta la versione HTTP utilizzata nella richiesta.
Versione HTTP non supportata
Il server non supporta la versione HTTP utilizzata nella richiesta.
La versione principale di HTTP della richiesta non è supportata dal server. Praticamente mai vista con i client moderni.
506Anche la variante negozia
Il server ha un errore di configurazione della negoziazione del contenuto.
Anche la variante negozia
Il server ha un errore di configurazione della negoziazione del contenuto.
La negoziazione del contenuto trasparente è entrata in un ciclo: la variante scelta è essa stessa configurata per negoziare. Indica un errore di configurazione del server.
507Archiviazione insufficiente
Il server è rimasto senza spazio su disco.
Archiviazione insufficiente
Il server è rimasto senza spazio su disco.
Originariamente specifico di WebDAV ma a volte utilizzato da server generali. Significa che il server non può salvare la richiesta a causa di vincoli di archiviazione.
508Ciclo rilevato
Il server ha rilevato un ciclo infinito durante l'elaborazione della richiesta.
Ciclo rilevato
Il server ha rilevato un ciclo infinito durante l'elaborazione della richiesta.
WebDAV: l'elaborazione di una richiesta Depth: infinity è entrata in un ciclo (ad esempio, binding circolari). L'operazione è stata terminata.
510Non esteso
Ulteriori estensioni alla richiesta sono richieste.
Non esteso
Ulteriori estensioni alla richiesta sono richieste.
Dal framework obsoleto delle estensioni HTTP: il server ha bisogno di ulteriori informazioni prima di poter soddisfare la richiesta. Effettivamente inutilizzato sul web moderno.
511Autenticazione di rete richiesta
Il client deve autenticarsi per ottenere l'accesso alla rete.
Autenticazione di rete richiesta
Il client deve autenticarsi per ottenere l'accesso alla rete.
Utilizzato da portali captive (WiFi di hotel/aeroporto) per indicare che l'utente deve accedere alla rete prima di accedere ai siti esterni.
Usi comuni
- Riferimento per il Design APIQuando progetti API REST, scegli il codice di stato giusto per ogni risposta.
- Cerca i Codici di Errore VelocementeQuando la tua app restituisce un errore HTTP confuso, cerca cosa significa effettivamente.
- Impara i Codici di Stato HTTPRiferimento completo per studenti e sviluppatori che imparano HTTP e REST.
- Riferimento Rapido Durante gli IncidentiDurante gli incidenti di produzione, cerca rapidamente cosa significa ogni codice di stato.
- Riferimento per la documentazione APIDurante la scrittura della documentazione API, collega alle descrizioni autorevoli dei codici di stato che restituisci.
Come funziona
Questo strumento è un riferimento lato client costruito intorno a una tabella di ricerca codificata a mano di 63 codici di stato HTTP che abbraccia tutte e cinque le classi (1xx–5xx), ognuna annotata con il suo numero RFC di riferimento. Non c'è chiamata al server, nessuna API esterna, e nessuna richiesta di rete — tutto il filtraggio e la visualizzazione avvengono nel browser usando i metodi array e stringa integrati di JavaScript.
- 1La tabella di ricerca viene caricataL'intero set di 63 codici di stato registrati IANA è incorporato direttamente in questo strumento come array JavaScript, ogni voce porta il codice numerico, il nome canonico in inglese, la classe di categoria, e l'RFC specifico che lo definisce (ad es. RFC 9110 per la maggior parte dei codici HTTP/1.1, RFC 6585 per 429 Too Many Requests, RFC 2324 per 418 I'm a Teapot).
- 2Il filtro funziona in memoriaMentre digiti o selezioni un filtro di categoria, Array.filter di JavaScript funziona sull'elenco in memoria, confrontando la tua query con il numero del codice di stato, il nome canonico, e le stringhe di descrizione breve e lunga usando String.includes — nessun ritardo di debounce, nessuna comunicazione con il server.
- 3I dettagli si espandono con il link RFCOgni risultato viene reso come un elemento HTML details/summary. Espandere una voce rivela la spiegazione lunga e un link diretto all'RFC autorevole su rfc-editor.org, così puoi leggere il testo esatto della specifica per qualsiasi codice.
- 4Link diretti e copia negli appuntiAprire una voce aggiorna l'hash URL al numero del codice (ad es. #404), rendendo la pagina condivisibile e adatta ai preferiti. Il pulsante copia scrive la stringa canonica (ad es. '404 Not Found') negli appunti tramite l'API navigator.clipboard del browser.
Strumenti correlati
Generatore di citazioni
Crea citazioni APA 7, MLA 9, Chicago e Harvard e riferimenti nel testo per siti web, libri, riviste e YouTube — e costruisci una bibliografia da copiare o esportare. Gratis e privato.
Timer a intervalli
Un timer di lavoro e riposo per allenamenti HIIT e Tabata con riscaldamento, round, serie, un grande conto alla rovescia, fasi colorate, segnali acustici e indicazioni vocali opzionali.
Divisore video
Dividi un video lungo in parti: pezzi da 60 secondi per Stato o Storie di WhatsApp, un numero di parti uguali oppure parti sotto una certa dimensione, come 25 MB per l'email. Salva ogni parte o tutte in un file ZIP. Funziona nel browser; il video non viene caricato.