Perché i siti Web popolari memorizzano nei cookie dati molto complessi relativi alla sessione - e cosa significa tutto ciò?


19

Come sviluppatori web, apprendiamo tutti che le sessioni aiutano a superare i problemi legati alla natura apolide dell'HTTP. Creiamo un ID sessione univoco e lo inviamo al browser e quando il browser ci invia lo stesso ID, identifichiamo facilmente l'utente.

Tutto ciò sembra abbastanza semplice e NON così complicato da implementare in qualsiasi lingua.

ADESSO

Guarda i seguenti screenshot che ho preso. Questi mostrano i tipi di cookie archiviati nei siti Web più popolari. Sembra che stiano memorizzando più ID di sessione o che stiano cercando di nascondere l'ID effettivo impostando così tanti cookie, oppure è qualcosa di molto specializzato che stanno adottando misure di sicurezza per prevenire il dirottamento della sessione e altri problemi correlati. O comunque.

Gmail (prima dell'accesso)

inserisci qui la descrizione dell'immagine

Gmail (dopo il login)

inserisci qui la descrizione dell'immagine

Facebook

inserisci qui la descrizione dell'immagine

StackExchange

inserisci qui la descrizione dell'immagine

(Non preoccuparti, non puoi rubare la mia sessione - è stantio e incompleto :))

Quindi, la mia domanda è: quale scopo serve questa complicità? Spiegare cosa significano questi diversi cookie (in generale) e per quali scopi sono impostati. Infine, suggerisci come posso farlo (e se dovrei) nelle mie app.

Un'altra domanda: in molti casi, i valori nei cookie sembrano codificati in URL - perché?

Risposte:


21
  1. A volte non è pratico archiviare determinati dati in una tabella di sessione nel database. Se alcuni dati vengono aggiornati molto, anche questo potrebbe impantanarsi molto nel database. In tal caso e i dati non sono troppo importanti, potrebbero essere meglio memorizzati in un cookie separato.

  2. Quando (1) accade devi affrontare il limite di 4kb per cookie, quindi archiviare tutti i dati della sessione in-cookie in un cookie è una cattiva idea.

  3. Sarebbe bello poter memorizzare tutto nel numero minimo di cookie richiesto, ma i problemi di complessità del progetto rendono questo difficile. Alcune applicazioni sono sviluppate da diversi team . A volte ciò che vedi come un server web è in realtà un proxy che parla a diversi cluster di server Web, instradando sezioni diverse del sito a cluster diversi, ognuno con il proprio set di cookie.

  4. I biscotti sono economici. Sei l'eccezione alla regola: nessuno guarda nel loro negozio di cookie per vedere quanti cookie hanno. E c'è un piccolo vantaggio in termini di prestazioni nel provare a combinare tutti i dati della sessione sul lato client nel minor numero di cookie possibile.


Sono anche l'eccezione alla regola.
Michael Slade,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.