Pregunta

¿Cuáles son las tres formas en que las aplicaciones web pueden proporcionar una experiencia de estado para el usuario? (utilizando http) Sé que las sesiones y las cookies son dos de ellas, pero no conocen una tercera (¿base de datos?)

Sí, una pregunta de una conferencia.

¿Fue útil?

Solución

En realidad solo hay dos enfoques :

  • Identifique al usuario detrás de cada solicitud y asocie esta identificación con un contexto de sesión (almacenado en la memoria, en la base de datos, donde sea) Siempre es donde entran los identificadores de sesión o las cookies (para fines de identificación).
  • Administre que el 100% del contexto sea devuelto por el cliente (incrustando el contexto en las urls o formularios que utilizará el cliente; ViewState funciona de esta manera (*). Además, las cookies también pueden usarse para almacenar dicho contexto.

La forma en que se conservan los datos de contexto entre las solicitudes y, para los sistemas que se basan en la identificación del usuario, la forma en que se proporciona la identidad, proporciona muchas variaciones sobre los dos enfoques enumerados anteriormente . Por ejemplo:

  • contexto en la base de datos,
  • contexto en la memoria
  • contexto en un archivo
  • contexto pasado en ViewState (*)
  • contexto ...,
  • contexto almacenado en una cookie
  • ID de SessionID pasado en URL / formulario
  • ID de cookie

(*) edición: originalmente tenía ViewState marcado como un dispositivo de paso de ID de sesión, pero como señala Erikkallen, el uso predeterminado de ViewState es pasar la información de contexto, no la ID.

Al final, sin embargo, todo depende de si el contexto está almacenado en el lado del servidor o se transfiere al cliente con cada solicitud.

Otros consejos

Hay más de tres.

  • Estado de sesión
  • estado de la vista
  • Cookies
  • Base de datos
  • caché
  • escribiendo datos en archivos

Básicamente, cualquier cosa que pueda usarse, los datos persistentes en una solicitud web pueden usarse para almacenar el estado.

Parece una pregunta de tarea. De todos modos, es vago ... ¿Maneras de rastrear a un usuario? ¿Cómo almacenar los datos de un usuario?

El seguimiento se puede realizar con cookies, token de URL o un campo oculto (en el caso de formularios).

El almacenamiento de datos se puede hacer de muchas maneras diferentes.

El escenario más común es almacenar un ID de sesión en una cookie y usar ese ID para recuperar la sesión del usuario.

AJAX es la tercera pieza para hacer que la aplicación web sin estado aparezca como un estado.

Todavía está enviando solicitudes entre bastidores, pero para el usuario: la pantalla no se actualiza ni se parece a un sitio web.

Puede tener un sitio web basado en una base de datos, pero no será de estado.

Querystrings es una de las formas más comunes de hacer esto. Por ejemplo,

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top