tigtools

Codici di stato HTTP

Cerca qualsiasi codice di stato HTTP: scopri cosa significa, quando viene inviato dai server e quale specifica lo definisce. Cerca per numero o parola chiave, filtra per classe e crea un link diretto al codice.

Funziona nel browser Nessuna registrazione

79 codici visualizzati

  • 100 Continue

    Il server ha ricevuto le intestazioni della richiesta e il client può inviare il corpo. Si verifica quando un client invia «Expect: 100-continue» prima di caricare un corpo di grandi dimensioni.

    Definito in RFC 9110

  • 101 Switching Protocols

    Il server accetta di passare al protocollo richiesto dal client nell'intestazione Upgrade. Si verifica quando una connessione viene aggiornata a WebSocket.

    Definito in RFC 9110

  • 102 Processing

    Obsoleto o non utilizzato

    Il server ha accettato una richiesta WebDAV, ma non l'ha ancora completata. È stato rimosso dalle specifiche WebDAV successive e oggi si usa raramente.

    Definito in RFC 2518

  • 103 Early Hints

    Viene inviato prima della risposta finale, così il browser può iniziare a precaricare le risorse indicate nelle intestazioni Link. CDN e server lo usano per velocizzare il caricamento delle pagine.

    Definito in RFC 8297

  • 200 OK

    La richiesta è riuscita e la risposta contiene il risultato. È la risposta normale per il caricamento di una pagina o una chiamata API riuscita.

    Definito in RFC 9110

  • 201 Created

    La richiesta è riuscita e ha creato una nuova risorsa, solitamente identificata dall'intestazione Location. Tipico dopo un POST riuscito che crea un record.

    Definito in RFC 9110

  • 202 Accepted

    La richiesta è stata accettata per l'elaborazione, ma non è ancora stata completata. Si usa nelle API che mettono le attività in coda, ad esempio esportazioni o processi batch.

    Definito in RFC 9110

  • 203 Non-Authoritative Information

    La richiesta è riuscita, ma un proxy di trasformazione ha modificato il contenuto restituito dal server di origine.

    Definito in RFC 9110

  • 204 No Content

    La richiesta è riuscita e non c'è contenuto da restituire. È comune per le richieste DELETE e per il salvataggio dei dati quando il client non ha bisogno di un corpo della risposta.

    Definito in RFC 9110

  • 205 Reset Content

    La richiesta è riuscita e il client dovrebbe reimpostare la visualizzazione del documento, ad esempio svuotando un modulo. Si usa raramente.

    Definito in RFC 9110

  • 206 Partial Content

    Il server restituisce solo l'intervallo di byte richiesto dal client. Si verifica durante lo streaming di video, la ripresa di download o quando un client invia un'intestazione Range.

    Definito in RFC 9110

  • 207 Multi-Status

    Una risposta WebDAV che contiene codici di stato distinti per più risorse in un corpo XML.

    Definito in RFC 4918

  • 208 Already Reported

    Si usa all'interno di una risposta WebDAV 207 per evitare di elencare di nuovo gli stessi membri della risorsa associata.

    Definito in RFC 5842

  • 226 IM Used

    Il server ha applicato trasformazioni dell'istanza (come una codifica delta) alla risorsa corrente. Si vede molto raramente.

    Definito in RFC 3229

  • 300 Multiple Choices

    La risorsa è disponibile in più rappresentazioni e il client dovrebbe sceglierne una. Si usa raramente nella pratica.

    Definito in RFC 9110

  • 301 Moved Permanently

    La risorsa è stata spostata in modo permanente all'URL indicato nell'intestazione Location. Browser e motori di ricerca aggiornano i link; alcuni client trasformano POST in GET quando seguono il reindirizzamento.

    Definito in RFC 9110

  • 302 Found

    La risorsa si trova temporaneamente a un altro URL, indicato nell'intestazione Location. È comune dopo gli accessi e per i reindirizzamenti a breve termine; di solito i browser lo seguono con GET.

    Definito in RFC 9110

  • 303 See Other

    Il client dovrebbe recuperare il risultato da un altro URL con GET. Si usa dopo un POST di un modulo per reindirizzare a una pagina di conferma (schema Post/Redirect/Get).

    Definito in RFC 9110

  • 304 Not Modified

    La copia memorizzata nella cache è ancora valida, quindi il server non invia un corpo. Si verifica quando un browser verifica nuovamente un file in cache con If-None-Match o If-Modified-Since.

    Definito in RFC 9110

  • 305 Use Proxy

    Obsoleto o non utilizzato

    Richiedeva al client di usare un proxy indicato nell'intestazione Location. È deprecato per motivi di sicurezza e i browser lo ignorano.

    Definito in RFC 9110

  • 306 (Unused)

    Obsoleto o non utilizzato

    Riservato. Era usato in una bozza precedente di HTTP/1.1 e non viene più utilizzato.

    Definito in RFC 9110

  • 307 Temporary Redirect

    La risorsa si trova temporaneamente a un altro URL e il client deve ripetere la richiesta con lo stesso metodo e lo stesso corpo. Viene usato anche dai browser per i reindirizzamenti HSTS interni verso HTTPS.

    Definito in RFC 9110

  • 308 Permanent Redirect

    La risorsa è stata spostata in modo permanente e il client deve usare lo stesso metodo e lo stesso corpo sul nuovo URL. È l’equivalente permanente di 307, sicuro per reindirizzare le richieste POST.

    Definito in RFC 9110

  • 400 Bad Request

    Il server non può elaborare la richiesta perché è malformata, ad esempio contiene JSON non valido, un parametro di query errato o un cookie danneggiato.

    Definito in RFC 9110

  • 401 Unauthorized

    La richiesta non include credenziali di autenticazione valide. Nonostante il nome, significa “non autenticato”; il server invia un header WWW-Authenticate che indica come accedere.

    Definito in RFC 9110

  • 402 Payment Required

    Riservato per usi futuri nella specifica HTTP. Alcune API e alcuni servizi di pagamento lo usano quando è richiesto un pagamento o un abbonamento.

    Definito in RFC 9110

  • 403 Forbidden

    Il server ha compreso la richiesta, ma la rifiuta; effettuare di nuovo l’accesso non servirà. Si verifica quando mancano i permessi, la visualizzazione dell’elenco di una directory è disattivata o un firewall blocca il client.

    Definito in RFC 9110

  • 404 Not Found

    Il server non riesce a trovare la risorsa richiesta. Di solito il link è scritto in modo errato o non è aggiornato, la pagina è stata eliminata oppure la route dell’API non è corretta.

    Definito in RFC 9110

  • 405 Method Not Allowed

    La risorsa esiste, ma non supporta il metodo HTTP usato, ad esempio POST su un URL di sola lettura. La risposta elenca i metodi consentiti nell’header Allow.

    Definito in RFC 9110

  • 406 Not Acceptable

    Il server non può produrre una risposta in nessuno dei formati elencati negli header Accept del client.

    Definito in RFC 9110

  • 407 Proxy Authentication Required

    Come 401, ma il client deve prima autenticarsi presso un proxy. Si verifica nelle reti aziendali con un proxy che richiede l’autenticazione.

    Definito in RFC 9110

  • 408 Request Timeout

    Il server ha esaurito il tempo di attesa mentre aspettava che il client finisse di inviare la richiesta. Si verifica con connessioni lente o interrotte.

    Definito in RFC 9110

  • 409 Conflict

    La richiesta è in conflitto con lo stato attuale della risorsa, ad esempio per un conflitto durante una modifica o perché si sta cercando di creare qualcosa che esiste già.

    Definito in RFC 9110

  • 410 Gone

    La risorsa è stata rimossa definitivamente e non tornerà disponibile. A differenza di 404, indica ai motori di ricerca di rimuovere l’URL più rapidamente.

    Definito in RFC 9110

  • 411 Length Required

    Il server richiede un header Content-Length, ma la richiesta non lo include.

    Definito in RFC 9110

  • 412 Precondition Failed

    Una condizione negli header della richiesta, come If-Match, non è stata soddisfatta. Si usa per evitare di sovrascrivere una risorsa modificata dall’ultima volta che il client l’ha letta.

    Definito in RFC 9110

  • 413 Content Too Large

    Il corpo della richiesta supera le dimensioni accettate dal server. Si verifica quando si carica un file che supera un limite come client_max_body_size di nginx.

    Definito in RFC 9110

  • 414 URI Too Long

    L’URL è troppo lungo perché il server possa elaborarlo. Di solito accade quando un modulo invia troppi dati con GET o quando un ciclo di reindirizzamenti continua ad aggiungere parametri.

    Definito in RFC 9110

  • 415 Unsupported Media Type

    Il server non supporta il formato del corpo della richiesta, ad esempio se si invia XML a un endpoint che si aspetta application/json.

    Definito in RFC 9110

  • 416 Range Not Satisfiable

    L’intervallo di byte richiesto nell’header Range supera le dimensioni della risorsa.

    Definito in RFC 9110

  • 417 Expectation Failed

    Il server non può soddisfare il requisito indicato nell’header Expect del client.

    Definito in RFC 9110

  • 418 I'm a teapot

    Uno scherzo del primo aprile tratto dal protocollo Hyper Text Coffee Pot Control Protocol del 1998: una teiera che si rifiuta di preparare il caffè. HTTP riserva il codice come non utilizzato, ma alcuni server lo restituiscono come Easter egg o per rifiutare bot indesiderati.

    Definito in RFC 2324 / RFC 9110 (Unused)

  • 419 Page Expired

    Non standard

    Non è un codice standard. Laravel lo restituisce quando il token CSRF di un modulo manca o è scaduto, in genere dopo la scadenza della sessione.

    Definito in Laravel

  • 420 Enhance Your Calm

    Non standard

    Non è un codice standard. La vecchia API di Twitter lo usava per limitare le richieste; il codice standard per questo caso è 429.

    Definito in Twitter API v1

  • 421 Misdirected Request

    La richiesta è arrivata a un server che non può fornire una risposta per questo host, ad esempio quando una connessione HTTP/2 viene riutilizzata per un dominio diverso.

    Definito in RFC 9110

  • 422 Unprocessable Content

    La richiesta è ben formata, ma il suo contenuto non è valido, ad esempio un modulo che non supera i controlli di convalida. È ampiamente usato dalle API per gli errori di convalida.

    Definito in RFC 9110

  • 423 Locked

    La risorsa WebDAV è bloccata e non può essere modificata.

    Definito in RFC 4918

  • 424 Failed Dependency

    La richiesta WebDAV non è riuscita perché non è riuscita un’altra azione da cui dipendeva.

    Definito in RFC 4918

  • 425 Too Early

    Il server non elaborerà una richiesta che potrebbe essere riprodotta, ad esempio una inviata nei dati anticipati di TLS 1.3.

    Definito in RFC 8470

  • 426 Upgrade Required

    Il server rifiuta la richiesta con il protocollo attuale e indica quello richiesto nell’header Upgrade.

    Definito in RFC 9110

  • 428 Precondition Required

    Il server richiede una richiesta condizionale, ad esempio con If-Match, per evitare aggiornamenti persi.

    Definito in RFC 6585

  • 429 Too Many Requests

    Il client ha inviato troppe richieste in un determinato intervallo di tempo. Le API lo usano per limitare le richieste e spesso includono un header Retry-After che indica quando riprovare.

    Definito in RFC 6585

  • 431 Request Header Fields Too Large

    Gli header della richiesta sono troppo grandi, spesso a causa di cookie troppo numerosi o voluminosi. Di solito basta cancellare i cookie del sito.

    Definito in RFC 6585

  • 444 No Response

    Non standard

    Non è un codice standard. nginx lo usa internamente per chiudere la connessione senza inviare alcuna risposta, spesso per bloccare traffico indesiderato; i client non lo ricevono mai.

    Definito in nginx

  • 451 Unavailable For Legal Reasons

    La risorsa non è disponibile per motivi legali, ad esempio a causa di un’ordinanza del tribunale o della censura governativa. Il numero rimanda al romanzo Fahrenheit 451.

    Definito in RFC 7725

  • 494 Request Header Too Large

    Non standard

    Non è un codice standard. È una variante di 431 specifica di nginx, registrata quando gli header della richiesta superano i limiti del buffer.

    Definito in nginx

  • 495 SSL Certificate Error

    Non standard

    Non è un codice standard. nginx lo restituisce quando la verifica del certificato del client non va a buon fine.

    Definito in nginx

  • 496 SSL Certificate Required

    Non standard

    Non è un codice standard. nginx lo restituisce quando non viene fornito un certificato client richiesto.

    Definito in nginx

  • 497 HTTP Request Sent to HTTPS Port

    Non standard

    Non è un codice standard. nginx lo restituisce quando una richiesta HTTP semplice viene inviata a una porta configurata per HTTPS.

    Definito in nginx

  • 499 Client Closed Request

    Non standard

    Non è un codice standard. nginx lo registra quando il client chiude la connessione prima che il server risponda, ad esempio se un utente annulla il caricamento di una pagina lenta o si verifica un timeout sul client.

    Definito in nginx

  • 500 Internal Server Error

    Il server ha riscontrato un errore imprevisto e non ha potuto completare la richiesta. È un errore generico causato da un bug, un arresto anomalo o una configurazione errata; i dettagli sono nei log del server.

    Definito in RFC 9110

  • 501 Not Implemented

    Il server non supporta la funzionalità necessaria, ad esempio un metodo HTTP che non riconosce.

    Definito in RFC 9110

  • 502 Bad Gateway

    Un gateway o un proxy ha ricevuto una risposta non valida dal server upstream. Si verifica spesso quando l’applicazione dietro nginx o un bilanciatore di carico è arrestata in modo anomalo o si sta riavviando.

    Definito in RFC 9110

  • 503 Service Unavailable

    Il server non è temporaneamente in grado di gestire la richiesta perché è sovraccarico o fuori servizio per manutenzione. Un header Retry-After può indicare quando riprovare.

    Definito in RFC 9110

  • 504 Gateway Timeout

    Un gateway o un proxy non ha ricevuto in tempo una risposta dal server a monte. Si verifica quando una richiesta al backend è troppo lenta, ad esempio a causa di una query al database di lunga durata.

    Definito in RFC 9110

  • 505 HTTP Version Not Supported

    Il server non supporta la versione HTTP usata nella richiesta.

    Definito in RFC 9110

  • 506 Variant Also Negotiates

    Errore di configurazione della negoziazione dei contenuti sul server: la variante scelta è configurata a sua volta per negoziare.

    Definito in RFC 2295

  • 507 Insufficient Storage

    Il server non può archiviare i dati necessari per completare la richiesta, ad esempio perché il disco di un server WebDAV è pieno.

    Definito in RFC 4918

  • 508 Loop Detected

    Il server ha interrotto un'operazione WebDAV dopo aver rilevato un ciclo infinito.

    Definito in RFC 5842

  • 509 Bandwidth Limit Exceeded

    Non standard

    Non è un codice standard. Alcuni servizi di hosting condiviso (moduli Apache, cPanel) lo usano quando un sito supera il limite di banda.

    Definito in Apache / cPanel

  • 510 Not Extended

    Obsoleto o non utilizzato

    Per essere soddisfatta, la richiesta richiede ulteriori estensioni. È definito da una specifica sperimentale ormai storica.

    Definito in RFC 2774

  • 511 Network Authentication Required

    Il client deve autenticarsi per accedere alla rete. Viene inviato dai captive portal delle reti Wi-Fi di hotel, aeroporti o bar prima del login.

    Definito in RFC 6585

  • 520 Web Server Returned an Unknown Error

    Non standard

    Non è un codice standard. Cloudflare lo restituisce quando il server di origine invia una risposta vuota, sconosciuta o imprevista.

    Definito in Cloudflare

  • 521 Web Server Is Down

    Non standard

    Non è un codice standard. Cloudflare lo restituisce quando il server di origine rifiuta la connessione, di solito perché il server web è inattivo o blocca gli indirizzi IP di Cloudflare.

    Definito in Cloudflare

  • 522 Connection Timed Out

    Non standard

    Non è un codice standard. Cloudflare lo restituisce quando la connessione TCP al server di origine va in timeout.

    Definito in Cloudflare

  • 523 Origin Is Unreachable

    Non standard

    Non è un codice standard. Cloudflare lo restituisce quando non riesce a raggiungere il server di origine, ad esempio per un problema di DNS o di routing.

    Definito in Cloudflare

  • 524 A Timeout Occurred

    Non standard

    Non è un codice standard. Cloudflare lo restituisce quando si connette al server di origine ma non riceve una risposta HTTP entro il timeout (100 secondi per impostazione predefinita).

    Definito in Cloudflare

  • 525 SSL Handshake Failed

    Non standard

    Non è un codice standard. Cloudflare lo restituisce quando l'handshake SSL/TLS con il server di origine non riesce.

    Definito in Cloudflare

  • 526 Invalid SSL Certificate

    Non standard

    Non è un codice standard. Cloudflare lo restituisce quando il certificato SSL del server di origine non è valido e la modalità SSL Full (strict) è attiva.

    Definito in Cloudflare

Come si usa

  1. Inserisci il numero di un codice (ad esempio 404 o semplicemente 5 per tutti gli errori del server) oppure una parola chiave come «reindirizzamento» o «timeout».
  2. Restringi l'elenco con il filtro per classe: informativo, successo, reindirizzamento, errore del client o errore del server.
  3. Usa «Copia link» su un codice per condividerne il collegamento diretto, ad esempio in una segnalazione di bug.

Come funziona

Ogni risposta HTTP inizia con un codice di stato di tre cifre. La prima cifra indica la classe: risposte informative 1xx, successo 2xx, reindirizzamenti 3xx, errori causati dalla richiesta 4xx ed errori lato server 5xx. I client che non riconoscono un codice specifico lo trattano come il codice x00 della stessa classe, quindi un codice 4xx sconosciuto viene gestito come 400.

I codici principali sono definiti nell’RFC 9110 (HTTP Semantics, 2022), che ha sostituito il precedente RFC 7231. Altri provengono da estensioni: WebDAV (RFC 4918), RFC 6585 per 428, 429, 431 e 511, RFC 7725 per 451 e RFC 8470 per 425. L’RFC 9110 ha anche rinominato due codici: 413 ora è “Content Too Large” e 422 “Unprocessable Content”. Potresti ancora trovarli con i vecchi nomi “Payload Too Large” e “Unprocessable Entity”.

Alcuni codici presenti nei log non fanno parte di alcuno standard. nginx usa internamente i codici 444 e 494–499 (499 indica che il client ha smesso di attendere) e Cloudflare restituisce i codici 520–526 quando non riesce a ottenere una risposta valida dal server di origine. Nell’elenco sono contrassegnati come “Non-standard”. Le frasi descrittive (come “Not Found”) sono riportate in inglese, come nelle specifiche; HTTP/2 e HTTP/3 trasmettono solo il numero.

Esempi

301 o 308 per spostare un sito

Entrambi sono permanenti. Usa 301 per i normali spostamenti di pagina; usa 308 quando i client devono ripetere le richieste POST o PUT al nuovo URL, perché alcuni client trasformano POST in GET dopo un 301.

401 e 403 a confronto

Un’API restituisce 401 quando non viene inviato alcun token o quando il token è scaduto: il client deve quindi accedere. Restituisce 403 quando il token è valido ma l’utente non dispone dell’autorizzazione necessaria, quindi accedere di nuovo non servirà.

Diagnosticare un 502 dietro nginx

Un errore 502 Bad Gateway di nginx indica che l’applicazione a cui fa da tramite non ha risposto correttamente. Controlla se il processo dell’app è in esecuzione e cosa è stato registrato nei log; 504 indica invece che la risposta è arrivata troppo tardi.

Domande frequenti

Qual è la differenza tra 404 e 410?

404 significa che il server non riesce a trovare la risorsa e non dice nulla sul futuro. 410 indica che la risorsa è stata rimossa intenzionalmente e non verrà ripristinata; questo aiuta i motori di ricerca a rimuovere prima l’URL.

Un errore di convalida dovrebbe restituire 400 o 422?

Si usano entrambi. 400 è adatto alle richieste che il server non riesce a interpretare, per esempio un JSON non valido. 422 è adatto alle richieste interpretate correttamente ma con valori non validi, per esempio un campo email senza @.

418 I'm a teapot è un vero codice di stato?

Deriva da una RFC per il pesce d'aprile del 1998. La RFC 9110 riserva il codice 418 come non utilizzato, così da evitare che venga assegnato ad altro. Alcuni server lo restituiscono per scherzo, ma non ha un significato standard.

Da dove deriva il codice 499?

499 è specifico di nginx. Compare nei log di nginx quando il client chiude la connessione prima che il server invii una risposta. Il client non riceve mai un 499: di solito indica risposte lente o timeout lato client.

I motori di ricerca trattano un 302 come un 301?

Un 302 segnala uno spostamento temporaneo, quindi inizialmente i motori di ricerca mantengono di solito nell'indice l'URL originale. Se un 302 resta in vigore a lungo, Google potrebbe considerarlo un reindirizzamento permanente. Per gli spostamenti permanenti, usa 301 o 308.

Privacy

L'elenco è incluso nella pagina. Le ricerche e i filtri vengono applicati nel browser; i termini cercati non vengono inviati né inclusi nelle statistiche.