Il server ha ricevuto le intestazioni della richiesta e il client può inviare il corpo della richiesta.
101
Switching Protocols
Il server sta cambiando protocollo come richiesto, il più delle volte verso WebSocket.
200
OK
La risposta di successo standard. Il corpo contiene la risorsa richiesta.
201
Created
La richiesta è andata a buon fine ed è stata creata una nuova risorsa. Il suo indirizzo viene restituito nell'intestazione Location.
202
Accepted
La richiesta è stata accettata per l'elaborazione ma non è ancora completa. Comune per le attività asincrone.
204
No Content
Successo senza contenuto da restituire. Molto usato per DELETE e per gli aggiornamenti con PUT.
206
Partial Content
Il server restituisce solo una parte della risorsa in risposta a un'intestazione Range, come nello streaming video.
301
Moved Permanently
La risorsa si è spostata in modo permanente. Trasferisce i segnali di posizionamento al nuovo URL: è il reindirizzamento corretto per un cambiamento definitivo.
302
Found
Un reindirizzamento temporaneo. I motori di ricerca mantengono indicizzato l'URL originale, quindi non usarlo mai per uno spostamento definitivo.
304
Not Modified
La copia nella cache è ancora valida. Viene inviata in risposta a una richiesta condizionale e fa risparmiare banda.
307
Temporary Redirect
Come il 302, ma garantisce che il metodo HTTP non cambi durante il reindirizzamento.
308
Permanent Redirect
Come il 301, ma conserva il metodo e il corpo della richiesta.
400
Bad Request
Il server non è riuscito a interpretare la richiesta. Di solito è un JSON malformato o un parametro obbligatorio mancante.
401
Unauthorized
Manca l'autenticazione oppure non è valida. Nonostante il nome, riguarda l'autenticazione e non i permessi.
403
Forbidden
L'identità è nota ma non è autorizzata a compiere questa azione. Ripetere il tentativo con le stesse credenziali non servirà a nulla.
404
Not Found
Nessuna risorsa a questo URL. Deve restituire un vero stato 404: una pagina di «non trovato» che risponde 200 è un soft 404.
405
Method Not Allowed
L'URL esiste ma non accetta questo metodo HTTP. Includi un'intestazione Allow con l'elenco dei metodi accettati.
409
Conflict
La richiesta è in conflitto con lo stato attuale, ad esempio una chiave univoca duplicata o una versione non aggiornata.
410
Gone
Rimosso deliberatamente e in modo permanente. I motori di ricerca eliminano un 410 dall'indice più velocemente di un 404.
418
I'm a teapot
Uno scherzo del pesce d'aprile del 1998 che browser e server mantengono vivo da allora.
422
Unprocessable Content
La sintassi è valida ma il contenuto non supera le regole di validazione. Comune nelle API JSON.
429
Too Many Requests
Limite di richieste superato. Includi un'intestazione Retry-After per indicare ai client quando riprovare.
500
Internal Server Error
Un'eccezione non gestita sul server. Il codice generico da usare quando nessun altro più specifico si applica.
502
Bad Gateway
Un proxy ha ricevuto una risposta non valida dal server di origine. Di solito l'applicazione è inattiva o sta andando in crash.
503
Service Unavailable
Sovraccarico temporaneo o manutenzione. È il codice giusto per un'interruzione pianificata, insieme a Retry-After.
504
Gateway Timeout
Un proxy ha atteso troppo a lungo la risposta dell'origine. Indica in genere una query lenta o una dipendenza bloccata.
Tutto viene calcolato nel tuo browser. Quello che scrivi non viene inviato a nessun server.
Codici di stato HTTP: a cosa serve
I codici di stato HTTP portano molto più significato di quanto la maggior parte delle API sfrutti davvero. La differenza tra un 301 e un 302 decide se i segnali di ranking vengono trasferiti; quella tra 401 e 403 separa l'autenticazione dall'autorizzazione. Questo riferimento consultabile copre ogni codice standard con le sue implicazioni pratiche.
Codici di stato HTTP: come si usa
Cerca per numero di codice o per parola chiave.
Filtra per classe — 2xx successo, 3xx redirect, 4xx errore del client, 5xx errore del server.
Leggi il significato e la causa tipica.
Controlla la nota SEO sui codici di redirect ed errore che influenzano l'indicizzazione.
Domande frequenti
Che differenza c'è tra un redirect 301 e uno 302?
Il 301 è permanente e trasferisce i segnali di ranking alla nuova URL; il 302 è temporaneo e dice ai motori di ricerca di mantenere indicizzata quella originale. Usare un 302 per uno spostamento definitivo è un errore comune e costoso.
Quando restituisco 404 invece di 410?
Il 404 significa "non trovato", forse temporaneamente. Il 410 indica che la risorsa è stata rimossa in modo deliberato e definitivo, e i motori di ricerca tendono a rimuovere più in fretta una URL 410 dall'indice.
Cos'è un soft 404?
Una pagina che dice "non trovato" all'utente ma restituisce il codice HTTP 200. I motori di ricerca la indicizzano come una pagina reale, sprecando crawl budget. Le single-page application le producono con estrema facilità.
Che differenza c'è tra 401 e 403?
Il 401 significa che non ti sei autenticato, quindi delle credenziali potrebbero aiutare. Il 403 significa che sei autenticato ma non autorizzato, e ritentare con la stessa identità non servirà a nulla.