Codici di stato HTTP ed errori di Cloudflare: cosa significano 403, 404, 429, 500, 503 e 521
Ogni risposta di un server web inizia con un codice di stato di tre cifre. I browser di solito lo nascondono quando va tutto bene e mostrano una pagina di errore quando qualcosa non va. Il codice dice molto su ciò che sta succedendo: se il sito è online, se ha rifiutato la richiesta o se è il server stesso ad avere problemi. Questa guida tratta i codici che incontrerai più facilmente, come definiti nell’RFC 9110, lo standard HTTP, più quelli che Cloudflare aggiunge per i siti che stanno dietro di esso.
Le cinque classi
La prima cifra indica la classe, e la classe da sola risponde già alla domanda «il sito è online?».
| Codici | Classe | Il sito è online? |
|---|---|---|
100–199 | Informazione: la richiesta è stata ricevuta ed è in elaborazione | Sì. I browser li gestiscono senza mostrarli. |
200–299 | Successo: la richiesta è andata a buon fine | Sì. |
300–399 | Reindirizzamento: la pagina si trova a un altro indirizzo | Sì, purché i reindirizzamenti finiscano su una pagina. |
400–499 | Errore del client: la richiesta è stata rifiutata o non può essere soddisfatta | Sì. Il server ha risposto, ma non con la pagina. |
500–599 | Errore del server: il server non è riuscito a rispondere correttamente | Non utilizzabile. Il server, o qualcosa che sta dietro di esso, ha un problema. |
Successo e reindirizzamenti
200 OKLa risposta normale: ecco la pagina.301 Moved PermanentlyLa pagina si è spostata definitivamente. Browser e motori di ricerca ricordano il nuovo indirizzo.302 Found e 307 Temporary RedirectLa pagina si trova temporaneamente a un altro indirizzo. Il 307 mantiene il metodo della richiesta, quindi un modulo inviato con POST viene inviato di nuovo con POST.308 Permanent RedirectCome il 301, ma il metodo della richiesta viene mantenuto.304 Not ModifiedLa copia che il browser ha già è ancora attuale, quindi il server non ne invia una nuova.
I reindirizzamenti diventano un problema quando non finiscono mai. Se l’indirizzo A rimanda a B e B rimanda di nuovo ad A, il browser rinuncia con un errore come ERR_TOO_MANY_REDIRECTS. Una causa comune è un sito impostato per forzare https mentre un proxy davanti a esso comunica con il server tramite http, o viceversa.
Errori del client: il server ha risposto, ma ha rifiutato
400 Bad RequestIl server non è riuscito a capire la richiesta, per esempio per un indirizzo malformato o un cookie troppo grande.401 UnauthorizedDevi accedere. Il sito funziona; la pagina non è pubblica.403 ForbiddenIl server ha capito la richiesta e la rifiuta. Può trattarsi di una pagina senza accesso pubblico, o di un firewall che blocca alcuni visitatori, reti o paesi.404 Not FoundA questo indirizzo non c’è nulla. Il sito è online, ma il link è sbagliato o la pagina è stata rimossa.410 GoneCome il 404, ma la pagina è stata rimossa di proposito e non è previsto che torni.429 Too Many RequestsTroppe richieste in poco tempo, quindi il server ti chiede di rallentare. Può indicare quanto aspettare con un’intestazione Retry-After. Definito nell’RFC 6585.451 Unavailable For Legal ReasonsLa pagina è bloccata in seguito a un provvedimento legale, come l’ordine di un tribunale. Definito nell’RFC 7725.
Tutti questi codici dimostrano che qualcosa risponde per il sito, anche se, dietro una rete di distribuzione dei contenuti come Cloudflare, la risposta può provenire dalla rete anziché dal server del sito stesso. Per uno strumento di verifica, 403 e 429 sono particolarmente comuni: molti siti rifiutano le richieste automatiche provenienti dai data center, mentre servono normalmente le persone.
Errori del server: il sito ha un problema
500 Internal Server ErrorQualcosa è andato storto all’interno del sito, spesso un bug o una connessione al database non riuscita. Il log degli errori del server ne indica la causa.502 Bad GatewayUn server che fa da gateway o da proxy ha ricevuto una risposta non valida dal server che sta dietro di esso.503 Service UnavailableIl server al momento non può gestire la richiesta, perché è sovraccarico o in manutenzione. Può indicare quando riprovare con Retry-After.504 Gateway TimeoutUn gateway o un proxy ha aspettato troppo a lungo il server che sta dietro di esso.
Molti siti stanno dietro un proxy, un bilanciatore di carico o una rete di distribuzione dei contenuti, quindi 502 e 504 spesso significano che questa parte anteriore funziona, mentre l’applicazione che sta dietro no.
I codici propri di Cloudflare
Cloudflare si trova tra i visitatori e i server di molti siti web, chiamati server di origine. Quando l’origine non funziona, Cloudflare risponde con un proprio codice e con una pagina di errore che indica se il problema è nel browser, in Cloudflare o presso il fornitore di hosting. Questi sono quelli documentati da Cloudflare:
| Codice | Cosa significa |
|---|---|
520 | L’origine ha restituito una risposta vuota, sconosciuta o inattesa. |
521 | L’origine ha rifiutato la connessione da Cloudflare, di solito perché il server web è spento o un firewall blocca Cloudflare. |
522 | Cloudflare è andato in timeout durante la connessione all’origine: nessuna risposta alla connessione entro 19 secondi, o nessuna conferma di ricezione della richiesta entro 90 secondi. |
523 | Cloudflare non riesce a raggiungere l’origine, di solito perché nessun percorso di rete porta al suo indirizzo IP. |
524 | Cloudflare si è collegato, ma l’origine non ha inviato una risposta HTTP entro il timeout predefinito di 125 secondi. |
525 | L’handshake sicuro (SSL/TLS) tra Cloudflare e l’origine non è riuscito. |
526 | Cloudflare non è riuscito a convalidare il certificato SSL dell’origine. |
530 | Cloudflare non riesce a risolvere il nome host dell’origine. La pagina mostra anche un errore 1xxx con maggiori dettagli. |
In tutti questi casi Cloudflare funziona e il problema è nel server del sito, quindi solo il proprietario o il fornitore di hosting può risolverlo. Cloudflare può anche rispondere con un controllo anti-bot al posto della pagina. Quella risposta significa che il sito è protetto, non down, e Cloudflare la contrassegna con un’intestazione cf-mitigated: challenge che gli strumenti di verifica possono riconoscere.
Quali codici indicano che un sito è down
- 2xx e 3xx: il sito è online.
- 401, 403, 404, 410, 429 e 451: il sito è online ma non ti ha dato questa pagina. Controlla l’indirizzo, accedi, aspetta o prova da un’altra rete.
- Da 500 a 599: il server ha risposto ma non riesce a servire le pagine, quindi per i visitatori il sito è down. Aspetta e riprova; se il sito è tuo, controlla il log degli errori e i servizi dietro il proxy.
- Da 520 a 526 e 530 di Cloudflare: il server del sito è fuori servizio o irraggiungibile. Cloudflare funziona regolarmente.
- Nessun codice, perché il DNS o la connessione non hanno funzionato: il sito non è raggiungibile. La guida precedente di questa serie mostra come trovare quale livello non ha funzionato.
Domande frequenti
Un errore 404 è colpa mia?
Di solito no. Il sito funziona ma a quell’indirizzo non ha nulla, perché il link è vecchio o digitato male, oppure la pagina è stata rimossa. Controlla l’indirizzo o parti dalla home page.
Che differenza c’è tra 502, 503 e 504?
502 significa che un gateway ha ricevuto una risposta non valida dal server che sta dietro di esso, 503 che il server al momento non può accettare richieste, spesso per sovraccarico o manutenzione, e 504 che il gateway ha aspettato troppo a lungo una risposta.
Perché un sito mostra 403 a uno strumento di verifica ma si apre nel mio browser?
Molti siti bloccano le richieste automatiche provenienti dai data center, o chiedono un controllo anti-bot che solo un browser vero può superare. Il 403 dimostra che qualcosa risponde per il sito; dietro una CDN come Cloudflare può provenire dalla CDN anziché dal server del sito stesso.
L’errore 521 è colpa di Cloudflare?
No. Significa che il server del sito ha rifiutato la connessione da Cloudflare. Cloudflare funziona; il proprietario o il fornitore di hosting deve riattivare il server o far passare gli indirizzi di Cloudflare attraverso il firewall.
Precedente della serie ← Un sito è down o il problema è solo tuo? Come verificarlo, passo per passo
Riferimenti
- RFC 9110 — HTTP Semantics (June 2022)
- RFC 6585 — Additional HTTP Status Codes (April 2012)
- RFC 7725 — An HTTP Status Code to Report Legal Obstacles (February 2016)
- Cloudflare — Troubleshooting Cloudflare 5XX errors
- Cloudflare — Detect a Challenge Page response
Guide correlate
- Indirizzi IP spiegati: IPv4, IPv6 e gli intervalli riservati
- Sottoreti e CIDR spiegati: prefissi, maschere e host utilizzabili
- Record DNS spiegati: A, AAAA, CNAME, MX, TXT e NS
- Un sito è down o il problema è solo tuo? Come verificarlo, passo per passo
- Timestamp Unix e fusi orari spiegati
- Contare le date: giorni tra due date, anni bisestili e settimane ISO
- Formati immagine spiegati: JPEG, PNG, WebP, AVIF e HEIC
- Robustezza delle password spiegata: lunghezza, entropia e passphrase
- Gli UUID spiegati: v4, v7 e come scegliere la versione giusta
- I codici QR spiegati: capacità, correzione degli errori e dimensioni di stampa
- Percentuali e IVA spiegate: aggiungere, scorporare e cumulare
- Errori comuni nel JSON e come correggerli
- Modificare i PDF nel browser: cosa conservano unione, divisione e conversione