¿Diferencias entre cookies y sesiones?


Estoy entrenando en desarrollo web y estoy aprendiendo sobre JSP & Servlets . Tengo cierto conocimiento de HttpSession - lo he utilizado en algunos de mis proyectos de muestra.

En los navegadores he visto la opción de "eliminar cookies". Si borro las cookies también borra el HttpSession.

¿Son las cookies y la sesión lo mismo? ¿Cuáles son las diferencias entre ellos?

Author: Rob Hruska, 0000-00-00

8 answers

Las sesiones son archivos del lado del servidor que contienen información del usuario, mientras que las cookies son archivos del lado del cliente que contienen información del usuario. Las sesiones tienen un identificador único que las asigna a usuarios específicos. Este identificador se puede pasar en la URL o guardar en una cookie de sesión.

La mayoría de los sitios modernos utilizan el segundo enfoque, guardando el identificador en una cookie en lugar de pasarlo en una URL (lo que representa un riesgo de seguridad). Probablemente está utilizando este enfoque sin saberlo, y por eliminar las cookies borra efectivamente sus sesiones coincidentes a medida que elimina el identificador de sesión único contenido en las cookies.

 169
Author: Eran Galperin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-11 14:06:35

Una cookie es simplemente una cadena de texto corta que se envía de ida y vuelta entre el cliente y el servidor. Puede almacenar name=bob; password=asdfas en una cookie y enviarla de un lado a otro para identificar al cliente en el lado del servidor. Podría pensar en esto como llevar a cabo un intercambio con un cajero bancario que no tiene memoria a corto plazo y necesita que se identifique para cada transacción. Por supuesto, usar una cookie para almacenar este tipo de información es horrible e inseguro. Las cookies también están limitadas en Tamaño.

Ahora, cuando el cajero del banco sepa sobre su problema de memoria, puede anotar su información en un pedazo de papel y asignarle un número de identificación corto. Luego, en lugar de dar su número de cuenta y licencia de conducir para cada transacción, solo puede decir "Soy cliente 12"

Traduciendo eso a Servidores Web: El servidor almacenará la información pertinente en el objeto de sesión, y creará un ID de sesión que enviará de vuelta al cliente en una cookie. Cuando el el cliente devuelve la cookie, el servidor puede simplemente buscar el objeto de sesión usando el ID. Por lo tanto, si elimina la cookie, la sesión se perderá.

Otra alternativa es que el servidor use la reescritura de URL para intercambiar el id de sesión.

Supongamos que tiene un enlace - www.myserver.com/myApp.jsp Podría ir a través de la página y reescribir cada URL como www.myserver.com/myApp.jsp?sessionID=asdf o incluso www.myserver.com/asdf/myApp.jsp e intercambiar el identificador de esa manera. Esta técnica es manejada por el contenedor de la aplicación web y generalmente es activada por establecer la configuración para usar sesiones sin cookies.

 285
Author: Chris Cudmore,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-29 00:08:32

Las cookies y la sesión almacenan información sobre el usuario (para que la solicitud HTTP tenga estado), pero la diferencia es que las cookies almacenan información en el lado del cliente (navegador) y las sesiones almacenan información en el lado del servidor. Una cookie es limitada en el sentido de que almacena información sobre usuarios limitados y solo almacena contenido limitado para cada usuario. Una sesión no está limitada de tal manera.

 4
Author: sanjay singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-15 23:20:55

Cookie es básicamente una matriz global a la que se accede a través de los navegadores web. Muchas veces se usa para enviar / recibir valores. actúa como un mecanismo de almacenamiento para acceder a valores entre formularios. Las cookies pueden ser desactivadas por el navegador, lo que agrega una restricción a su uso en comparación con la sesión.

La sesión se puede definir como algo entre iniciar y cerrar sesión. el tiempo entre el inicio y el cierre de sesión del usuario es una sesión. La sesión almacena valores solo para el tiempo de sesión, es decir, antes del registro fuera. Las sesiones se utilizan para rastrear las actividades del usuario, una vez que inicia sesión.

 1
Author: RishikeshD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-08 10:20:21

Google JSESSIONID. Esto explicará cómo la API de Servlet utiliza inicialmente la reescritura de URL y luego, si las cookies están habilitadas, las cookies para administrar las sesiones.

HTTP es sin estado por lo que el navegador cliente debe enviar el id de su sesión al servidor con cada solicitud. El servidor, a través de cualquier medio, utiliza este id para recuperar cualquier dato de esa sesión que lo hace disponible durante la vida útil de la solicitud.

 0
Author: Nick Holt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-11 14:12:07

Sesión en Asp.net:

1.Mantiene los datos en toda la aplicación.

2.Conserva los datos si la sesión actual está activa. Si necesitamos algunos datos para acceder desde varios controladores acitons y vistas de la sesión es la manera de almacenar y recuperar datos.

3.Las sesiones son archivos del lado del servidor que contienen información del usuario. [Las sesiones son un identificador único que las asigna a usuarios específicos]

Traduciendo eso a Servidores Web: El servidor almacenará información pertinente en el objeto de sesión, y crear un ID de sesión que se enviará de vuelta al cliente en una cookie. Cuando el cliente devuelve la cookie, el servidor puede simplemente buscar el objeto de sesión utilizando el ID. Por lo tanto, si elimina la cookie, la sesión se perderá.

 0
Author: Vicky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-12 08:40:43

Cookie es una forma de implementar la sesión entre cliente y servidor, de esta manera información de sesión almacenada en cookie. Pero esta no es la única forma de mantener la información de la sesión, otra forma es almacenar la información de la sesión en la Url.

 0
Author: lessisawesome,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-03 01:51:01

Las cookies se almacenan en el navegador como un archivo de texto format.It se almacena la cantidad límite de data.It solo permite 4kb[4096bytes].variable _COOKIE variable no contiene múltiples cookies con el mismo nombre

Podemos acceder a los valores de cookies en easily.So es menos seguro.La función setcookie () debe aparecer ANTES de la función

<html> 

Etiqueta.

Las sesiones se almacenan en el servidor side.It se almacena una cantidad ilimitada de data.It es la celebración de la variable múltiple en sesiones. no podemos acceder a los valores de cookies en easily.So es más seguro .

Enlaces: diferencia entre cookies y sesiones

 0
Author: Elangovan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-02 06:14:09