2008-10-24 16 views
2

Cette page Web http://www.w3schools.com/ASP/prop_sessionid.asp indique qu'un ID de session est généré sur ServerSide.Un ID de session est-il généré côté serveur ou côté client?

Si tel est le cas, alors comment un serveur sait-il que c'est toujours le même client dans le cycle de réponse de la 2ème requête?

Sûrement le SessionId serait généré sur le ClientSide de sorte que le client serait sûr de passer la même valeur au serveur?

+0

Classic ASP ne prend pas en charge le mode sans cookie, seulement ASP.NET. – Kev

Répondre

13

Le SessionID est généré côté serveur, mais est stocké sur le client dans un cookie. Ensuite, chaque fois que le client envoie une requête au serveur, le SessionID est utilisé pour authentifier la session existante pour le client.

+1

Pas nécessairement un cookie. Je peux être intégré dans Querystring. – Salamander2007

+1

Lien est un exemple ASP classique qui utilise uniquement des cookies de session. ASP.NET peut utiliser des sessions sans cookie. – Kev

0

Le serveur générera un identifiant de session s'il n'en existe aucun. Mais une fois qu'il a été généré, le client peut renvoyer cet identifiant au serveur. Si le client modifie cet identifiant, vous obtiendrez probablement une erreur du serveur et un nouvel identifiant sera généré.

0

L'ID est généré sur le serveur. Le client stocke ensuite ceci dans un cookie de session que le serveur récupère lors d'une requête ultérieure.

Si le serveur fonctionne en mode sans cookie, la clé de session devient partie de l'URL et le serveur l'analyse à partir de là.

AJOUTÉ: ... et si le serveur s'attend à utiliser un cookie de session mais que les cookies du client sont désactivés, du point de vue du serveur, toutes les requêtes sont de nouvelles sessions car il ne peut pas dire qu'il s'agit du même utilisateur .

2

L'ID de session est normalement généré sur le serveur. Il est ensuite envoyé au client, soit en tant que cookie dans les en-têtes HTTP, soit en l'incluant dans le code HTML, c'est-à-dire que les liens deviennent href = my.html? Sessionid = 1234.

La requête suivante du client contiendra alors l'ID de session, soit dans le cookie, soit dans la partie GET de la requête.

+1

Qui a downvoted cela? Si quelqu'un voit quelque chose de mal avec cette réponse, faites le moi savoir ... – Tom