Cookies e sessioni

20 marzo 2006

Questo articolo si strutturerà in una parte teorica che illustra le caratteristiche delle “due parti in questione” e poi, verranno messe a confronto il loro utilizzo pratico. A volte, inserirò nella spiegazione anche il mio punto di vista personale che non è detto possa coincidere con il vostro.

Cookies … chi sono e cosa fanno ?

“Cosa facciamo … li mangiamo o non li compriamo nemmeno ?” Non ho sbagliato tipologia di articolo, ma so che a volte la gente teme i famosi biscottini del web ( i cookies ). Personalmente, ero anch’io uno di quelli che odiava i cookies, poi un giorno ho detto : “ma perchè non guardare come funzionano ?”. E così, da quel giorno, ho la pancia piena di biscottini. Ora voglio illustravi i loro punti di forza e i loro punti deboli. Il vantaggio dei cookies, è la loro sede di lavoro. È vero che essi vengono generati dal server durante l’esecuzione di uno script specifico ( qualunque sia il linguaggio di scripting, ora non interessa ), ma poi i cookies risiedono su C.S. ( Client-Side ).

La domanda sorge spontanea a molta gente. ” E adesso che lo so … la mia vita come cambia ?” La mia risposta è semplice. Più che la tua vita, potresti rendere meno sofferta quella del server web che ospita il tuo sito. Infatti basta solo interrogare i cookies come se fossero semplici variabili , ma ciò è possibile farlo anche a distanza di tempo. Mi spiego meglio. Una variabile una volta chiusa l’applicazione web, muore con essa. Al contrario, i cookies restano vivi sul computer del visitatore del proprio web. Facciamo un esempio banale. Se io ho un sondaggio e scelgo nelle ipotesi di lavorazione che posso far votare l’utente una sola volta ogni N giorni, con i cookies è molto semplice.

Infatti basta ke al momento del voto si scrive un cookies ( poi vedremo come nello specifico dell’ Asp ) e gli si imposta una scadenza di N giorni da quel momento. Personalmente nei cookies vedo lo svantaggio dell’utilizzo quando si tratta di manipolare dati personali e/o password in quanto i cookies sono dei semplici file di testo e quindi di facile lettura da tutti. Se al cookies NON viene impostata nessuna scadenza, esso morrà col la chiusura dell’applicazione.

Sessioni … chi sono e cosa fanno ?

“Ma io come faccio senza di te ? ? ?” Questa è la domanda che molti sviluppatori si pongono nel cercare di realizzare i propri web. La domanda si rifersice a quando lo stesso dato serve in più pagine web e quindi bisogna tenerselo sempre stretto stretto. Le sessioni come i cookies consentono di fare questa scelta, ma hanno delle limitazioni.

La prima che mi viene in mente, forse quella che mi sta più a cuore, è la loro “pesantezza” su S.S. ( Server Side ). Infatti esse sono variabili singole relative ad UNA SOLA applicazione che lavorano sul server. È anche vero che il loro uso è molto più semplice e veloce rispetto ai cookies. Esistono nello specifico anche per le sessioni meccanismi per impostare il loro periodo di vita. Esiste inoltre un tipo particolare di variabile di sessione visibile a tutti quanti gli utenti connessi in un dato istante ad un web. Stiamo parlando delle variabili ” application “.

Ho citato queste variaili per completezza, ma non intendo affrontarle in questo articolo. Volevo solo dire un’ultima cosa sulle variabili di sessione prima di passare alla relaizzazione pratica in Asp. Molti sviluppatori, temono che su C.S. i cookies siano disabilitati ed è per quello che prediligono l’uso delle sessioni. So che con la prossima frase sfaterò un mito, ma è giusto che si sappia, non solo per completezza del discorso. Le variabili di sessione NON funzionano se i cookies sono disabilitati. So che sembra un forte controsenso, ma è la verità.

Applicazioni pratiche “a confronto”

Sessioni Cookies
Scrittura session(“var”) = “Valore” response.cookies(NomeCookie) = val
Lettura variabile = session(“var”) Val = request.cookies(NomeCookie)
Impostare Scadenza

session.timeout = “Num_min”

Imposta la scadenza * TUTTE le variabili di sessione ATTIVE

response.cookies(NomeCookie).expire = data_scadenza

per creare in modo dinamico il valore della scadenza è possibile utilizzare il DateSerial

Svuotare il proprio valore session(“var”) = “” response.cookies(NomeCookie) = “”

Conclusioni Articolo e Personali

Con questo articolo so benissimo di non aver spiegato a pieno tutte le caratteristiche di questi due sistemi di memorizzazione dei dati. Credo però di essere riuscito nel mio intento, cioè quello di mostrare come lavorano entrambe e spero di avervi fatto capire anche quale variabile è meglio usare piuttosto che l’altra. Personalmente vi dico che non prendo posizione nè per una nè per l’altra. In effetti, ho un debole per i cookies, ma non mi è sempre concesso usarli. Sapete… dipende anche dalla situazione. Vi voglio lasciare con uno spunto di riflessione. “Cookies o sessione ? ? ? Bel dilemma … ma risolvibile. Meditate gente e capirete cos’è meglio.”

Se vuoi aggiornamenti su Cookies e sessioni inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Cookies e sessioni

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy