Utilizzo di SessionStorage per mantenere lo stato lato client

1

Sto lavorando su un'app Web e vorrei conservare i dati del cliente in LOCAL archiviazione di sessione.

Non posso usare la sessione dei server e l'app chiamerà solo alcuni WS di resto esistenti. Devo sviluppare un'app pura lato client, nessun rendering lato server

In questo caso quando si passa da una pagina all'altra ho intenzione di leggere i dati precedentemente memorizzati per ogni pagina dalla memoria di sessione locale e il rendering di ciascuna pagina di conseguenza in modo che l'aggiornamento della pagina non influenzi il comportamento eliminando i dati del client per ogni pagina

Sono sicuro che sia fattibile ma è un modo corretto di conservare i dati di ogni pagina?

Questo è adatto per me perché per anni ho fatto lo sviluppo del frontend con Java Swing.

Grazie

    
posta Cris 15.09.2015 - 09:58
fonte

1 risposta

3

Sebbene utilizzi lo stato di sessione lato server per memorizzare i dati utente tra i carichi di pagina, il lato negativo è che mangia memoria sul server per utente. Quindi non è scalabile.

mantenere i dati in un cookie, anche se sembra vecchio stile e devi preoccuparti della sua sicurezza. È generalmente considerato migliore.

Un approccio più moderno consiste nell'utilizzare i database lato client javascript. O in una singola app puoi semplicemente mantenere i dati nella memoria del client.

È anche possibile aggirare il problema della memoria memorizzando la sessione in un DB o una cache scalabile separata, come memcache o aerospike ecc. Tuttavia, questo inizia a sollevare domande più fondamentali sull'architettura della propria applicazione. Perché hai bisogno di avere questo stato memorizzato? è effettivamente meglio di rigenerarlo da un database su ogni caricamento della pagina? ecc ecc

Ancora una volta, in generale, direi che la visione popolare è quella di passare a servizi JSON stateless che vengono chiamati tramite client AJAX. (Non lo chiamerò "REST" perché è un termine così caricato)

    
risposta data 15.09.2015 - 10:03
fonte

Leggi altre domande sui tag