I codici di stato HTTP spiegati, dal 200 al 503
Ogni volta che il tuo browser chiede qualcosa a un server web, il server risponde con un numero a tre cifre prima di inviare qualsiasi HTML, immagine o JSON. Quel numero è il codice di stato HTTP, ed è il modo rapido del server per dire cosa è successo: la pagina è qui, si è spostata, non sei autorizzato ad accedere, o qualcosa si è rotto dal suo lato. La maggior parte delle volte non vedi mai questi codici perché tutto funziona e la pagina si carica. Ma nel momento in cui un sito si comporta male, il codice di stato è il primo indizio che vale la pena leggere.
I numeri non sono casuali. La prima cifra classifica ogni risposta in una delle cinque famiglie, così anche un codice sconosciuto ti dice approssimativamente cosa è andato storto solo guardando il numero iniziale. Impara le cinque famiglie e riuscirai a leggere quasi qualsiasi risposta a colpo d'occhio.

Le cinque classi
1xx informativo. Il server ha ricevuto la tua richiesta e ci sta ancora lavorando. Questi sono rari nella navigazione quotidiana e di solito vengono gestiti silenziosamente tra browser e server. 100 Continue è l'esempio classico, che dice a un client che va bene inviare il resto del corpo di una richiesta di grandi dimensioni.
2xx successo. La richiesta ha funzionato. 200 OK è quello che vuoi vedere tutto il giorno, e significa che la risorsa è stata trovata ed è in arrivo. 201 Created appare dopo aver inviato un form o una chiamata API che crea qualcosa di nuovo, e 204 No Content significa che l'azione è riuscita ma non c'è nulla da visualizzare.
3xx reindirizzamento. Ciò che hai chiesto si trova altrove e il browser di solito lo segue automaticamente. I reindirizzamenti mantengono vivi i vecchi link e sono molto importanti per il posizionamento sui motori di ricerca.
4xx errore del client. Qualcosa nella richiesta era sbagliato dal tuo lato: un URL errato, autenticazione mancante o una risorsa che non esiste. Il server è integro; semplicemente non può accettare ciò che hai inviato.
5xx errore del server. La tua richiesta era corretta, ma il server ha incontrato difficoltà durante la gestione. Questi puntano all'infrastruttura del sito, non a te.
I codici specifici che le persone cercano davvero
200 OK è il successo semplice. La pagina o i dati sono stati caricati come previsto.
301 Moved Permanently comunica ai browser e ai motori di ricerca che una pagina ha una nuova sede permanente. Questo è il reindirizzamento favorevole all'SEO, perché trasferisce i segnali di ranking dal vecchio URL al nuovo. Usalo quando cambi un URL definitivamente.
302 Found è un reindirizzamento temporaneo. L'URL originale è ancora quello reale, quindi i motori di ricerca continuano a indicizzarlo piuttosto che la destinazione. Ricorri al 302 solo quando lo spostamento è davvero di breve durata, come instradare gli utenti a una landing page stagionale.
304 Not Modified è un eroe silenzioso della navigazione veloce. Dice al browser che la copia già presente nella sua cache è ancora aggiornata, quindi il server salta il rinvio del file. Meno dati, pagine più veloci.
400 Bad Request significa che il server non è riuscito nemmeno a capire la richiesta, spesso a causa di sintassi errata o un parametro non valido.
401 Unauthorized si traduce approssimativamente in "non so chi sei, autenticati per favore." Mancano credenziali valide.
403 Forbidden è diverso: il server sa chi sei e rifiuta comunque. Mancano le autorizzazioni, e accedere di nuovo non risolverà il problema.
404 Not Found è il codice più famoso di tutti. Il server è attivo e ha risposto, ma a quell'indirizzo non c'è nulla. Di solito deriva da un link digitato male o una pagina eliminata o spostata senza un reindirizzamento.
429 Too Many Requests significa che sei stato soggetto a rate limiting. Hai inviato troppe richieste in una finestra troppo breve e il server ti chiede di rallentare. Le API lo usano continuamente.
500 Internal Server Error è la risposta generica "qualcosa si è rotto". Il server ha incontrato una condizione imprevista e ha ceduto, ma non dice cosa. Controlla i log del server.
502 Bad Gateway appare quando un server, che agisce da gateway o proxy, riceve una risposta non valida da un server upstream a monte. Spesso è il segnale che un'app backend è andata in crash o è irraggiungibile.
503 Service Unavailable significa che il server è temporaneamente sovraccarico o in manutenzione. A differenza del 500, implica che il problema sia di breve durata e che il sito dovrebbe tornare disponibile presto.

Cosa significano i codici di stato per SEO e debugging
Per il posizionamento sui motori di ricerca, la distinzione tra 301 e 302 è quella che coglie le persone di sorpresa. Uno spostamento permanente dovrebbe sempre usare 301 in modo che la nuova pagina erediti l'autorità della vecchia; un 302 nel posto sbagliato può portare i motori di ricerca a indicizzare l'URL originale e dividere i tuoi segnali. Nel frattempo, un gran numero di 404 spreca il crawl budget e frustra i visitatori, quindi vale la pena reindirizzare o correggere i link rotti piuttosto che lasciarli marcire.
Per il debugging, la famiglia indica dove guardare. Un 4xx punta alla richiesta, quindi controlla URL, header e credenziali. Un 5xx punta al server, quindi controlla i log dell'applicazione, i servizi upstream e se un deploy è appena andato storto. Un'ondata di 502 e 503 spesso significa che un backend è offline o sovraccarico piuttosto che un bug nel codice. Puoi ispezionare lo stato esatto che un sito restituisce con i nostri strumenti per sviluppatori, e quando un 5xx sembra un problema di connettività piuttosto che un errore applicativo, una rapida ricerca DNS può confermare che il dominio si risolve ancora all'indirizzo corretto.
Domande frequenti
Un errore 404 è dannoso per il mio sito web?
Qualche 404 è normale e innocuo. I problemi iniziano quando pagine popolari restituiscono 404 o quando i link interni rotti si accumulano, sprecando il crawl budget e frustrando i visitatori. Reindirizza le pagine spostate e correggi i link rotti.
Qual è la differenza tra un reindirizzamento 301 e un 302?
Un 301 è permanente e trasferisce i segnali di ranking al nuovo URL, quindi usalo quando una pagina si sposta definitivamente. Un 302 è temporaneo e mantiene l'URL originale indicizzato, quindi usalo solo per spostamenti di breve durata.
Qual è la differenza tra 401 e 403?
Un 401 significa che non ti sei autenticato, quindi accedere potrebbe risolvere il problema. Un 403 significa che il server ti riconosce ma nega comunque l'accesso perché mancano le autorizzazioni, quindi accedere di nuovo non aiuterà.
Cosa significa un errore 500 e come lo risolvo?
Un 500 Internal Server Error significa che il server ha incontrato un errore imprevisto durante la gestione della richiesta. Il messaggio è generico intenzionalmente, quindi la correzione di solito inizia leggendo i log del server per trovare la causa reale.
Perché ricevo un codice di stato 429?
Un 429 Too Many Requests significa che sei stato soggetto a rate limiting per aver inviato richieste troppo rapidamente. Rallenta, rispetta qualsiasi header Retry-After che il server restituisce, e aggiungi il backoff agli script e ai client API.
Cosa significa 503 Service Unavailable?
Un 503 significa che il server non è temporaneamente in grado di gestire la richiesta, di solito a causa di sovraccarico o manutenzione programmata. Segnala un problema di breve durata, quindi il sito dovrebbe riprendersi da solo a breve.
