I codici di stato HTTP
I codici di stato sono la risposta del server all’esito di ogni richiesta HTTP. Sono codici numerici a tre cifre, organizzati in cinque classi in base alla prima cifra.
HTTP è stateless — cookie e sessioni
HTTP è un protocollo stateless: il server, una volta inviata la risposta, non mantiene alcuna memoria di ciò che il client ha richiesto in precedenza. Ogni richiesta è trattata come se fosse la prima.
Questo è efficiente, ma crea un problema pratico: come fa un sito a ricordare che sei loggato quando passi da una pagina all’altra? La soluzione si ottiene attraverso due tecniche: cookie e sessioni.
Evoluzione: HTTP/1.1, HTTP/2 e HTTP/3
Il protocollo HTTP ha subito importanti evoluzioni per rispondere alla crescente complessità delle pagine web moderne.
Connessioni non persistenti: per ogni richiesta HTTP viene aperta una nuova connessione TCP e poi chiusa. Una pagina con 10 immagini richiedeva 10 connessioni TCP separate — lento e dispendioso.
Introduce le connessioni persistenti: la connessione TCP rimane aperta per più richieste sequenziali. Con pipelining, il client può inviare più richieste senza aspettare le risposte precedenti.
- Multiplexing: più richieste e risposte viaggiano in parallelo sulla stessa connessione TCP
- Header compression: riduce l’overhead degli header ripetuti
- Server push: il server può inviare risorse prima che il client le richieda
- Utilizzato con TLS per ottenere HTTPS (cifratura end-to-end)
- Abbandona TCP: usa QUIC (protocollo di Google basato su UDP)
- Riduce drasticamente la latenza di connessione
- Migliora le prestazioni su reti mobili e con perdita di pacchetti
- Crittografia integrata — non opzionale
- I codici 2xx indicano successo, 4xx errore del client, 5xx errore del server
- HTTP è stateless: cookie (client-side, max 4KB, regolati da GDPR) e sessioni (server-side, illimitate) mantengono lo stato
- HTTP/1.1 usa connessioni persistenti; HTTP/2 aggiunge multiplexing e header compression
- HTTP/3 usa QUIC su UDP per latenza minima — ancora in fase di adozione