2012-01-17 9 views
18

¿Cuál es exactamente el alcance de una sesión HTTP?¿Cuál es el alcance de una sesión HTTP?

He estado buscando en Google esto pero parece que no puedo obtener una respuesta directa: se supone que una sesión se borrará "cuando un usuario cierre su navegador", pero eso no está claro para mí: ¿significa cerrar el navegador? ventana, o salir de la aplicación del navegador? ¿Un usuario con dos ventanas de navegador abiertas al mismo tiempo mantiene dos sesiones diferentes? ¿Y las pestañas del navegador siempre se dividen si es la misma sesión?

Respuesta

13

Esto dependerá de cómo esté rastreando las sesiones en su aplicación.

Por defecto son rastreados por HttpOnly cookies. Esto significa que si el usuario cierra la pestaña actual, no pierde la sesión. Si cierra el navegador, pierde la sesión.

Si utiliza un modo sin cookies para rastrear sesiones (cookieless="true"), ASP.NET añadirá una ficha personalizada a todas las URL que significa que un usuario puede estar conectado con 2 sesiones diferentes en 2 diferentes pestañas de la misma instancia de navegador.

+0

Darin, ¿diría usted que para las cookies de HttpOnly, la sesión tiene el alcance de cada navegador * ventana *? – Yarin

+0

@Yarin, sí, eso es exactamente lo que estoy diciendo. Y si cambia algo en una pestaña del navegador, como cerrar sesión, por ejemplo, se cerrará automáticamente en todas las demás pestañas si tuviera sesiones activas. –

5

La respuesta a todas sus preguntas es "depende".

Las ventanas de varios exploradores pueden tener varias sesiones o pueden ser de la misma sesión. Depende del comportamiento del navegador y de cómo haya abierto las ventanas.

En IE, hay una opción de menú para 'Nueva ventana' y una para 'Nueva sesión'. La opción 'Nueva ventana' mantendrá la misma sesión, la opción 'Nueva sesión' abrirá una nueva ventana con una sesión diferente. También puede obtener una nueva sesión en IE manteniendo presionada la tecla Mayús al iniciar el navegador.

Si tiene que asegurarse de que todas las sesiones hayan finalizado, cierre todas las ventanas del navegador.

+0

BNL- ¿Qué quiere decir con "cómo abrió las ventanas"? ¿Puedes elaborar? – Yarin

+0

Editado en una explicación. – BNL

+0

OK muchas gracias, podría darle un crédito parcial – Yarin

3

Las cookies de sesión generalmente se eliminan cuando se cierra todo el navegador. Dado que varias pestañas/ventanas comparten las mismas cookies, esas pestañas/ventanas usarán la misma sesión.

Sin embargo, una aplicación también podría pasar el identificador de sesión a través de la URL. En este caso, cada pestaña/ventana tendría su propia sesión siempre que no la abra a través de un enlace con una identificación de sesión válida.

+0

ThiefMaster - "cuando se cierra todo el navegador" = ¿salir de la aplicación del navegador? – Yarin

Cuestiones relacionadas