Codici di Stato della Risposta HTTP
I codici di stato della risposta HTTP indicano se una richiesta HTTP è stata completata con successo. Questi codici sono organizzati in cinque classi principali:
- Risposte informative (100–199)
- Risposte di successo (200–299)
- Redirezioni (300–399)
- Errori del client (400–499)
- Errori del server (500–599)
Questi codici sono definiti nella specifica del protocollo HTTP e la documentazione ufficiale può essere trovata nel RFC 9110.
1. Risposte Informative (100–199)
Questi codici indicano che la richiesta è stata ricevuta ed è in fase di elaborazione.
- 100 Continue: Il server ha ricevuto la richiesta e il client può continuare a inviare dati.
- 101 Switching Protocols: Indica che il server accetta un cambio di protocollo richiesto.
- 102 Processing (WebDAV): La richiesta è in fase di elaborazione, ma non è ancora disponibile una risposta.
- 103 Early Hints: Permette al client di iniziare a caricare risorse mentre il server prepara la risposta.
2. Risposte di Successo (200–299)
Indicano che la richiesta è stata completata correttamente.
- 200 OK: La richiesta è stata completata con successo e la risposta dipende dal metodo HTTP utilizzato.
- 201 Created: La richiesta ha generato una nuova risorsa.
- 202 Accepted: La richiesta è stata accettata, ma non è stata ancora elaborata.
- 204 No Content: La richiesta è stata completata con successo, ma non ci sono contenuti nella risposta.
- 206 Partial Content: È stato servito solo una parte del contenuto richiesto, utile per i download interrotti.
3. Redirezioni (300–399)
Questi codici indicano che il client deve eseguire azioni aggiuntive per completare la richiesta.
- 301 Moved Permanently: La risorsa è stata spostata permanentemente.
- 302 Found: La risorsa è stata spostata temporaneamente.
- 304 Not Modified: La risorsa non è cambiata dall'ultima richiesta, consentendo di utilizzare la versione cache.
- 307 Temporary Redirect: Redirezione temporanea mantenendo lo stesso metodo HTTP.
- 308 Permanent Redirect: Redirezione permanente mantenendo lo stesso metodo HTTP.
4. Errori del Client (400–499)
Questi codici indicano che c'è stato un errore nella richiesta del client.
- 400 Bad Request: La richiesta ha una sintassi errata.
- 401 Unauthorized: È necessaria un'autenticazione per accedere alla risorsa.
- 403 Forbidden: Il server rifiuta la richiesta per mancanza di autorizzazioni.
- 404 Not Found: La risorsa richiesta non è stata trovata.
- 405 Method Not Allowed: Il metodo HTTP non è consentito per la risorsa richiesta.
- 418 I'm a teapot: Un codice scherzo del protocollo Hyper Text Coffee Pot Control Protocol (HTCPCP).
- 429 Too Many Requests: Sono state fatte troppe richieste in un periodo di tempo breve.
5. Errori del Server (500–599)
Questi codici indicano che c'è stato un problema nel server durante l'elaborazione della richiesta.
- 500 Internal Server Error: Un errore generico del server.
- 501 Not Implemented: Il server non supporta la funzionalità richiesta.
- 502 Bad Gateway: Il server ha ricevuto una risposta non valida da un altro server.
- 503 Service Unavailable: Il server non è temporaneamente disponibile.
- 504 Gateway Timeout: Il server non ha ricevuto una risposta tempestiva da un altro server.
- 508 Loop Detected: È stato rilevato un ciclo infinito durante l'elaborazione della richiesta.
Conclusione
Comprendere i codici di stato HTTP è essenziale per diagnosticare problemi di comunicazione sulla rete e migliorare l'esperienza dell'utente. Ogni codice fornisce informazioni chiave sullo stato di una richiesta, permettendo di prendere le misure adeguate a seconda della situazione.
Per ulteriori dettagli, si consiglia di consultare la documentazione ufficiale del protocollo HTTP e i RFC pertinenti.