Cookie vs sessioni
HTTP è stateless, il che significa che tutti i dati archiviati vengono distrutti quando il client riceve la pagina dal server e la connessione viene chiusa. I cookie e le sessioni sono due soluzioni a questo problema. Il cookie è una piccolissima informazione che viene memorizzata sul computer del cliente dal sito web e viene rispedita al server ogni volta che viene richiesta una pagina. La sessione è un modo per memorizzare le informazioni sul server anziché sulla macchina del client.
Cosa sono i cookie?
Netscape ha introdotto il concetto di cookie con il browser Web Netscape Navigator. Il cookie è una piccolissima informazione che viene memorizzata sul computer del cliente dal sito web e viene rispedita al server ogni volta che viene richiesta una pagina. Poiché i cookie vengono inviati ogni volta, è necessario salvare una quantità minima di dati per risparmiare larghezza di banda. Un sito web legge solo il cookie da esso scritto, fornendo così un mezzo sicuro per memorizzare le informazioni su diverse pagine. Tuttavia, inizialmente i cookie non hanno ricevuto un buon nome, a causa di voci secondo cui i cookie potrebbero leggere tutte le informazioni sul disco rigido. Naturalmente, questo malinteso è svanito quando le persone si sono rese conto che i cookie sono in re altà innocui e ora sono ampiamente accettati. I cookie hanno una certa durata definita dai loro creatori. Al termine di questo, un cookie diventa scaduto. I cookie spesso tengono traccia di informazioni come la frequenza con cui l'utente visita, quali sono gli orari delle visite, su quali banner è stato cliccato, le preferenze dell'utente, ecc. I cookie vengono solitamente utilizzati per memorizzare informazioni necessarie per periodi più brevi. Se è necessario memorizzare informazioni come gli indirizzi e-mail (che devono essere conservati per periodi più lunghi), il programmatore deve utilizzare un database anziché i cookie. Tuttavia, se le informazioni personali vengono memorizzate nei cookie, è necessario utilizzare la crittografia per migliorare la sicurezza.
Cosa sono le sessioni?
La sessione è un altro mezzo per memorizzare le informazioni tra le pagine. Ma questo viene fatto sul lato server. La sessione utilizza effettivamente un cookie lato server e un cookie lato client per memorizzare i dati. Ma il cookie lato client memorizza solo un riferimento ai dati corrispondenti memorizzati sul server. Quando l'utente visita il sito web, il cookie lato client (con un numero di riferimento) viene inviato al server e il server utilizza questo numero per caricare i dati dell'utente. I cookie lato server possono memorizzare grandi quantità di dati. Poiché il cookie lato client memorizza solo il numero di riferimento, la larghezza di banda viene risparmiata immensamente. Poiché i dati della sessione sono archiviati nel server, sono molto più protetti.
Qual è la differenza tra cookie e sessioni?
Sebbene i cookie e le sessioni siano due modi per memorizzare informazioni nelle pagine web, hanno le loro differenze. I cookie memorizzano solo i cookie lato client, mentre le sessioni utilizzano cookie sia lato client che lato server. Le sessioni possono memorizzare grandi quantità di dati rispetto ai cookie. Poiché le sessioni memorizzano solo il numero di riferimento nella macchina del client, l'utilizzo della larghezza di banda è inferiore rispetto all'utilizzo dei cookie. I dati di sessione sono relativamente più sicuri, perché i cookie possono essere manipolati dall'utente.