Domanda

Quali sono i tre modi in cui le applicazioni web possono fornire un'esperienza di stato per l'utente? (usando http) So che sessioni e cookie sono due, ma non ne conosco un terzo (database ??)

Sì, una domanda da una lezione.

È stato utile?

Soluzione

Esistono effettivamente solo due approcci :

  • Identifica l'utente dietro ogni richiesta e associa questa identificazione a un contesto di sessione (archiviato in memoria, nel database, ovunque) È qui che entrano in gioco gli ID di sessione o i cookie (per scopi di identificazione).
  • Gestisci che il 100% del contesto venga restituito dal client (incorporando il contesto negli URL o nelle forme che verranno utilizzate dal client; ViewState funziona in questo modo (*). Inoltre, è possibile utilizzare anche i cookie per memorizzare tale contesto.

Il modo in cui i dati di contesto sono persistenti tra le richieste e, per i sistemi basati sull'identificazione dell'utente, il modo in cui viene fornita l'identità, forniscono molte variazioni sui due approcci sopra elencati . Ad esempio:

  • contesto nel database,
  • contesto in memoria
  • contesto in un file
  • contesto passato in ViewState (*)
  • contesto ...,
  • contesto memorizzato in un cookie
  • ID da SessionID passato su URL / modulo
  • ID dal cookie

(*) modifica: originariamente avevo ViewState contrassegnato come dispositivo di passaggio dell'ID sessione, ma come indicato da erikkallen, l'uso predefinito di ViewState è con il passaggio delle informazioni di contesto, non dell'ID.

Alla fine, tuttavia, tutto dipende dal fatto che il contesto sia archiviato sul lato server o trasferito al / dal client con ogni richiesta.

Altri suggerimenti

Ce ne sono più di tre.

  • Stato sessione
  • Visualizza stato
  • Cookie
  • database
  • Cache
  • Scrittura di dati su file

Fondamentalmente tutto ciò che può essere utilizzato persiste nei dati di una richiesta Web per memorizzare lo stato.

Sembra una domanda da fare a casa. Comunque, è vago ... Modi per rintracciare un utente? Modi per archiviare i dati di un utente?

Il monitoraggio può essere eseguito con cookie, token url o un campo nascosto (in caso di moduli).

La memorizzazione dei dati può essere eseguita in molti modi diversi.

Lo scenario più comune è la memorizzazione di un ID sessione in un cookie e l'utilizzo di tale ID per recuperare la sessione dell'utente.

AJAX è il terzo pezzo per far apparire l'applicazione web senza stato come stateful.

Sta ancora inviando richieste dietro le quinte, ma per l'utente: lo schermo non si aggiorna o sembra un sito Web.

Puoi avere un sito Web basato su database, ma non sarà con stato.

Stringhe di query sono uno dei modi più comuni per farlo. Per es.

http://www.site.com/products /index.aspx?productId=3&page=2&showInactive=n

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top