In questo articolo
Cosa sono i codici di stato HTTP?
I codici di stato HTTP sono numeri a tre cifre restituiti dai server web in risposta alla richiesta di un client. Indicano se la richiesta è stata eseguita con successo, reindirizzata, ha generato un errore o richiede ulteriori azioni. Ogni volta che carichi una pagina web, il tuo browser riceve uno di questi codici.
I codici di stato sono definiti dalla specifica HTTP (RFC 7231 e RFC correlate) e sono raggruppati in cinque classi in base alla prima cifra. Comprendere questi codici è essenziale per gli sviluppatori web, i progettisti di API e chiunque esegua il debug di applicazioni web.
Le cinque categorie di codici di stato
I codici di stato HTTP sono organizzati in cinque categorie, ognuna delle quali indica un tipo diverso di risposta.
- 1xx Informativo — la richiesta è stata ricevuta e l’elaborazione continua (es.: 100 Continue, 101 Switching Protocols)
- 2xx Successo — la richiesta è stata ricevuta, compresa e accettata con successo (es.: 200 OK, 201 Created, 204 No Content)
- 3xx Reindirizzamento — è necessaria un’azione ulteriore per completare la richiesta (es.: 301 Moved Permanently, 302 Found, 304 Not Modified)
- 4xx Errore del client — la richiesta contiene una sintassi errata o non può essere soddisfatta (es.: 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found)
- 5xx Errore del server — il server non è riuscito a soddisfare una richiesta valida (es.: 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable)
Prova gratuitamente — nessuna registrazione richiesta
Cerca codici di stato →Quando usare un riferimento dei codici di stato HTTP
Conoscere il codice di stato corretto da restituire o aspettarsi è fondamentale per costruire servizi web affidabili.
- Sviluppo API — scegliere il codice di risposta corretto per ogni endpoint (201 per la creazione, 204 per l’eliminazione, 422 per errori di validazione)
- Debug — diagnosticare problemi quando le richieste falliscono (è un problema di autenticazione 401 o di autorizzazione 403?)
- SEO e monitoraggio — tracciare i reindirizzamenti 301/302, identificare i link rotti 404 e monitorare gli errori del server 5xx
Domande frequenti
Qual è la differenza tra 401 e 403?
401 Unauthorized significa che il client non ha fornito credenziali di autenticazione valide — l’utente deve effettuare l’accesso o fornire una chiave API. 403 Forbidden significa che il client è autenticato ma non ha il permesso di accedere alla risorsa. In breve: 401 = ‘chi sei?’, 403 = ‘so chi sei, ma non puoi accedere a questo.’
Quando devo usare i reindirizzamenti 301 vs 302?
Usa 301 Moved Permanently quando la risorsa è stata spostata permanentemente a un nuovo URL — i motori di ricerca aggiorneranno il loro indice. Usa 302 Found (o 307 Temporary Redirect) quando il reindirizzamento è temporaneo e l’URL originale dovrebbe ancora essere utilizzato in futuro. Usare quello sbagliato può danneggiare il SEO.
Cosa significa un errore 500 Internal Server Error?
Un errore 500 è un errore generico lato server che indica che qualcosa è andato storto durante l’elaborazione della richiesta, ma il server non può essere più specifico. Le cause comuni includono eccezioni non gestite nel codice dell’applicazione, errori di connessione al database, server configurati in modo errato o problemi di distribuzione. Controlla i log del server per i dettagli effettivi dell’errore.