Posso dire "i dati di sessione sono disponibili temporaneamente sul client per il periodo di navigazione ma sono memorizzati in modo permanente sul server"?

1

Mentre cercavo le differenze tra cookie e sessione, mi sono imbattuto in due delle seguenti affermazioni

  1. i dati della sessione sono memorizzati sul server, mentre i dati dei cookie sono memorizzati sul client.
  2. dati di sessione disponibili per l'esecuzione del browser, dopo aver chiuso il browser perderemo le informazioni sulla sessione. Link sorgente

Mi sono sembrati un po 'contraddittori. Posso dire "i dati di sessione sono disponibili temporaneamente sul client per il periodo di navigazione ma sono memorizzati in modo permanente sul server"?

    
posta Zen Pwning 15.10.2013 - 20:29
fonte

1 risposta

1

No, non puoi. Beh, potresti, naturalmente, se fossi così incline, ma sarebbe sbagliato. I dati di sessione, lato server o altro, non dovrebbero mai essere permanenti. Penso che possa essere l'assurdo sovraccarico del termine "sessione" che ti sta causando confusione.

Per arguire:

  1. Un cookie di sessione è memorizzato sul lato client e non ha una data di scadenza ma scade (e viene eliminato) quando termina la sessione del browser. (Il browser è chiuso, in altre parole.)

  2. Un cookie persistente ha una data di scadenza incorporata che può (in modo abbastanza divertente) causarne la scadenza prima della fine della sessione del browser o, più in generale, persistere su più sessioni del browser salvandolo in disco per riutilizzo.

  3. Stato sessione (o sessioni lato server o variabili di sessione) sono dati che vengono mantenuti per un breve periodo (di solito scorrevoli da 20 a 30 minuti, per impostazione predefinita) associati con una sessione client (browser) e referenziata da un ID sessione che è sia la chiave per l'oggetto dati di sessione lato server sia il valore per un cookie di sessione che il client invia con ogni richiesta. Se il browser non effettua una richiesta entro il periodo di timeout (di nuovo, di solito da 20 a 30 minuti per impostazione predefinita) o anche potenzialmente prima, se l'applicazione richiede che la sessione per quel client termini, tali dati verranno eliminati dal server .

I dati sullo stato della sessione sono spesso archiviati in memoria sul server web, e quindi non saranno permanentemente permanenti, e in molti casi non sopravviveranno neppure al riavvio del processo del server web, anche se le sessioni sono tecnicamente valide e vivi .

Questo può essere mitigato usando un processo dedicato allo stato della sessione o memorizzando lo stato della sessione in un database, ma in nessun caso si intende mai un archivio dati permanente.

    
risposta data 15.10.2013 - 21:01
fonte

Leggi altre domande sui tag