Dans ce post je souhaite clarifier un peu la notion de session dans une application.
Nous verrons ce qu’est une session et les problématiques qui tentent d’être résolues à travers cette notion puis enfin les différentes manières de l’implémenter.
Rappel:
Pour bien comprendre la notion de session, nous devons poser d’abord quelques éléments de base.
La notion de session existe afin de palier le fait que http est un protocole stateless.
Http est le protocole de communication du www (web) tous les échanges entres 2 machines sur internet se font via Http.
Du point de vue de la machine serveur, chaque requête est vue comme une nouvelle requête. il n’y a donc aucun lien entre les différentes requêtes issues du client.
En d’autres termes entre 2 requêtes, http ne garde aucune information concernant le client.
Pourquoi ce la pose t’il problème ?
Dans l’absolu aucun problème, pour certains sites ce fonctionnement conviendra parfaitement.
Pour d’autres ce sera beaucoup plus ennuyant.
- Les sites nécessitant une authentification.
- Les sites d’E-commerce lors du processus d’achat.
- Les sites avec questionnaires interactifs.
- Tous les sites avec lesquels l’utilisateur peut interagir
Pour tous ces sites sans gestion de session le serveur demanderait sans arrêt à l’utilisateur de s’authentifier à chaque requête, ou encore de resélectionner tous son panier ou toutes ses réponses.
On pourrait qualifier ce type de serveur d’amnésique, oubliant systématiquement toutes informations une fois qu’il traite une requête.
Eh bah c’est exactement cela le http sans la notion de session, c’est comme si mon serveur était amnésique.
Vous imaginer une conversation avec une personne amnésique qui après chaque phrase que vous formulez vous demande : » qui vous êtes ? » .
C’est le genre de conversation qui devient rapidement agaçant pour le client 🙂
Pour palier à cette amnésie de http, il a fallu trouver des solutions afin de conserver les informations échangées lors d’une longue conversation entre le client et le serveur
Longue conversation : Achat, questionnaire, Inscription …
Le concept de session était né!.
Autrement dit : une session va nous permettre de conserver les informations échangées entre un client et un serveur durant une conversation.
Vous remarquerez que le vocabulaire utilisé ici est très proche du vocabulaire humain.
Maintenant que nous savons ce qu’est une session et à quoi elle sert.
Essayons de voir ensemble comment peut on implémenter une session
Il existe plusieurs façon d’implémenter le concept de session parmi les plus connues :
- hidden input field
- url rewriting
- Cookies
- Api java
Nous verrons dans un prochain article comment fonctionne chacune de ces techniques.
Webmentions
[…] clindamicina crema vaginal[…]
clindamicina crema vaginal