Cookies vs Sessions
HTTP è senza stato, il che significa che tutti i dati memorizzati vengono distrutti quando il client riceve la pagina dal server e la connessione viene chiusa. I cookie e le sessioni sono due soluzioni per questo problema. Il cookie è una piccola informazione che viene memorizzata sul computer del cliente dal sito Web e che viene inviata al server ogni volta che viene richiesta una pagina. Sessione è un modo di memorizzare le informazioni sul server anziché sul computer del cliente.
Cosa sono i cookie?
Netscape ha introdotto il concetto di cookie con il proprio browser Web Netscape Navigator. Il cookie è una piccola informazione che viene memorizzata sul computer del cliente dal sito Web e che viene inviata al server ogni volta che viene richiesta una pagina. Poiché i cookie vengono inviati di nuovo ogni volta, è necessario salvare una quantità minima di dati per risparmiare larghezza di banda. Un sito web legge solo il cookie scritto da esso, fornendo così un mezzo sicuro per archiviare le informazioni tra le diverse pagine. Tuttavia, inizialmente i cookie non ricevevano un buon nome, a causa di rumors che affermavano che i cookie potevano leggere tutte le informazioni sul disco rigido. Naturalmente, questo equivoco svanì quando le persone si resero conto che i biscotti sono in realtà innocui e ora sono altamente accettati. I cookie hanno una certa durata definita dai loro creatori. Alla fine di questo, un cookie diventa scaduto. I cookie spesso tracciano informazioni come la frequenza con cui l'utente visita, quali sono i tempi delle visite, quali banner sono stati cliccati, le preferenze dell'utente, ecc. I cookie sono solitamente utilizzati per memorizzare le informazioni necessarie per periodi più brevi. Se le informazioni come indirizzi email (che devono essere conservati per periodi più lunghi) devono essere archiviati, il programmatore deve utilizzare un database invece dei 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 archiviare le informazioni tra le pagine. Ma questo è fatto sul lato server. In realtà, Session utilizza un cookie lato server e un cookie lato client per archiviare 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. Il cookie sul lato server può memorizzare grandi quantità di dati. Poiché il cookie sul lato client memorizza solo il numero di riferimento, la larghezza di banda viene salvata immensamente. Poiché i dati della sessione sono memorizzati nel server, sono molto più protetti.
Qual è la differenza tra cookie e sessioni?
Sebbene i cookie e le sessioni siano due modi per archiviare le informazioni tra le pagine Web, presentano le loro differenze. I cookie memorizzano solo cookie lato client, mentre le sessioni utilizzano sia i cookie lato client che quelli 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 cliente, l'utilizzo della larghezza di banda è inferiore rispetto all'utilizzo dei cookie. I dati di sessione sono relativamente più sicuri, poiché i cookie possono essere manipolati dall'utente.