diff --git a/networking/023-http.md b/networking/023-http.md index 740fd7e..7a1c72d 100644 --- a/networking/023-http.md +++ b/networking/023-http.md @@ -100,12 +100,14 @@ I `cookie` sono piccoli file di testo che il server invia al browser dell'utente Le caratteristiche principali dei cookie sono: - *Persistenza*: possono essere di sessione (temporanei, eliminati alla chiusura del browser) o persistenti (con una data di scadenza e memorizzati sul disco) -- *Sicurezza*: possono essere marcati come `secure`, obbligando lo scambio solo tramite HTTPS, e `HttpOnly`, impedendo a di accedere al valore del cookie tramite JavaScript (i cookie permettono di bypassare tutti i meccanismi di autenticazione) +- *Sicurezza*: possono essere marcati come `secure`, obbligando lo scambio solo tramite HTTPS, e `HttpOnly`, impedendo di accedere al valore del cookie tramite JavaScript. Questo è un ulteriore strumento di protezione contro attacchi di furto d'identità (i cookie permettono di bypassare tutti i meccanismi di autenticazione) - *Scope*: definiscono il percorso (path) e il dominio (domain) per cui il cookie è valido Hanno una dimensione limitata a 4 KB e possono essere bloccati dal browser o dai suoi plugin per motivi di privacy. -Le `sessioni`, invece, sono gestite lato server e identificano il client attraverso un ID di sessione. Spesso, i cookie vengono utilizzati per memorizzare solo l'ID di sessione, mentre i dati dell'utente sono conservati sul server. +Le `sessioni`, invece, sono gestite lato server e identificano il client attraverso un ID di sessione. Questo approccio offre un ulteriore livello di sicurezza, poiché i dati sensibili non vengono memorizzati nel cookie, ma rimangono sul server. + +Le sessioni sono generalmente utilizzate in combinazione con i cookie: il cookie contiene solo l'ID di sessione, mentre le informazioni associate all'utente sono archiviate sul server. ## URI, URL e URN