Question

Je creusais récemment des séances de cookieless, je suis venu accross un article qui indique que chaque fois que la session est créée sur le serveur, son identifiant est stocké dans les cookies, sur la machine client, je pensais que dans mon collège, les séances sont stockées sur Le serveur, et si le SessionID est dans les cookies et les cookies sont stockés dans la machine des clients localement, comment peut dire que la session est stockée sur le serveur, est-ce bien, que les sessions sont stockées sur le serveur? Si oui, quel est le concept de session de biscuits, quelqu'un peut-il m'expliquer

Était-ce utile?

La solution

L'état de session est (presque toujours) stocké sur le serveur, et il est identifié par un nombre aléatoire, le jeton de session.

Ce jeton doit être stocké par le client et envoyé au serveur avec ses demandes HTTP (afin que le serveur puisse se rappeler qu'il l'a déjà vu et associer la session à la demande).

Comment dire que la session est stockée sur le serveur, est-ce vrai, que les sessions sont stockées sur le serveur?

Seul le jeton de session est stocké sur le client, et comme il s'agit d'un nombre aléatoire, il ne contient aucune information utile en soi. Il ne devient précieux qu'avec les données stockées sur le serveur.

Si oui, quel est le concept de session de biscuits

La façon la plus simple de stocker le jeton est d'utiliser des cookies. C'est pour cela que les cookies ont été inventés. Les alternatives remettent le cookie dans les deux sens à l'aide de variables de forme cachée ou dans le cadre de l'URL.

Autres conseils

La session est stockée sur le serveur. Chaque session associée à ID (le fournisseur d'état de session le plus simple dans ASP.NET n'est qu'un dictionnaire en mémoire avec IDS en tant que clés). Cette pièce d'identité est également stockée dans le cookie du client, mais en cas de séances de biscuits, l'identification est stockée dans l'URL (Exemple).

Considérez l'ID de session comme une clé dans un tableau et l'état de session comme la valeur. Seule la clé est envoyée aux clients, pas la valeur.

Dans le cas d'ASP.NET, Session State lui-même est un dictionnaire qui contient des paires de clés / valeur.

Si vous utilisez le fournisseur de session SQL Server standard, le tableau que j'ai mentionné ci-dessus est appelé ASPStateTempSessions. SessionId est le pk, et le sérialisé Dictionary est stocké dans le SessionItemShort ou SessionItemLong colonne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top