Cookies Vs Session : Faire la difference pour miuex comprendre l'ecosystem web et surtout du protocole HTTP.
Le Protocole HTTP qui gouverne le web est sans mémoire, on parle de memoryless en anglais, Pour ceux qui ne le savent pas, le HTTP c'est le protocole qui permet à votre machine à travers le navigateur (on appelle cela dans le jargon du web machine cliente) de communiquer avec une autre machine distante appellée Serveur dans le but de recuperer les données (HTML+CSS etc..) que vous visualisez sur le site web en question, il faut bien un protocole pour gerer ce type de communication car les developpeurs qui fabriquent ou mieux qui codent les navigateurs, sont differents des developpeurs qui codent les serveurs web ou resident les sites web du coup pour avoir une union solide et que la communication entre ces deux groupes de developpeurs soit respectée et est unique, il faut un protocole qui va établir les règles de communication entre ces deux groupes ainsi, par exemple, les developpeurs qui ont codé Chrome, Mozilla, Edge etc.. doivent suivrent à la règle ce que demande le protocole HTTP pour que les devloppeurs qui codent Apache, IIS, NGNIX qui sont des serveurs web, puissent recevoir les requetes venant des navigateurs et les interpretés en respectant les specifications du protocole HTTP, voilà à quoi sert un protocole si non chacun en fera à sa tete et du coup il sera impossible de faire comuniquer un navigateur et un serveur fait par des groupes de developpeurs differents qui ne se connaissent meme pas. HTTP est sans mémoire parceque, pour chaque requete fait par le navigateur au meme serveur, le serveur ne se souvient plus que les memes requetes proviennent du meme navigateur, donc en parole simple, HTTP ne contient pas un mecanisme qui peut faire en sorte que le serveur puisse identifier toutes les requetes qui proviennent d'un meme navigateur ou d'une meme machine, c'est pourquoi on dit de ce protocole qu'il est sans mémoire, voilà pourquoi les acteurs du web on du recourir à d'autres strategies pour faire cette identification.
Cookies:
Le cookie est un mechanisme coté client, donc qui s'execute uniquement dans la machine cliente là ou il y a le navigateur et pas sur le serveur, c'est cette technique qui permet au site web visité par le navigateur/utilisateur, de stocker des données dans la machines cliente, dans l'image ci dessus, l'utilisateur visite un site web quelconque, le site web stocke en retour dans la reponse HTTP, des cookies qui contiennent des données que le developpeur du site web veut tracker, par exemple les preferences de l'utilsateur, son panier, les pages qu'il a visité sur le site etc.. ceci pour ameliorer l'experience utilisateur et faire en sorte que pour les memes choses, l'utilisateurs ne soit pas à se repeter, on appelle ce type de cookie en anglais "First Party Cookies", en revanche de nos jours la plupart des cookies ne sont pas de "First party Coookies" mais des "Third Party Cookies" ou mieux en français des cookies tiers, les cookies tiers ont des cookies inserés par les annonceurs pour vous faire du marketing, avez vous remarqué que vous visitez par exemple un site A et recherchez un produit sur ce site A par exemple une chaussure, puis immediatement après, dans chaque site ou vous pointez votre nez, immediatement il ya les annonces des chaussures? partout ou vous naviguez sur le web vous retrouvez des annonces des chaussures? là il s'agit des cookies tiers, donc inserrés par les annonceurs dans le site A que vous avez visité, dans google chrome, faites juste F12 et allez dans la languette Application comme en image, si en bas de cookies vous avez des liens differents du domaine de la page que vous etes entrain de visiter, alors ce sont des cookies tiers donc le but est de vous traquer.
Les Sessions:
Je viens de dire ci dessus pourquoi le protocole HTTP est sans mémoire, pour palier à ce manquement, on a mis dans les languages de programmation la notion de session,la session permet de donner un identifiant unique par exemple à un utilisateur quand il s'identifie sur un site, dans l'optique de pouvoir succevessivement identifier de manière unique toutes les requetes provenant du meme utilisateur, c'est une technologie uniquement coté serveur et utilise les cookies coté client pour stocker cet identifiant unique que le navigateur devra associer à toutes les requetes qui vont vers le serveur, ainsi coté serveur, avec cet identifiant unique, on pourra tracker, reconnaitre les requetes provenant du meme utilisateur et faire des algorithmes pour mieux identifier les données uniques à cet utilisateur, voilà le role de la session, dans la session on peut stocker des objets complexes, alors que coté client, les données à stocker ne doivent pas le plus souvent depasser 4KB.
Happy Coding
LarrySig Guest
24.05.2024, 18:18
Post: Comment fonctionnent Internement les guichets automatiques ?
Orvilledop Guest
22.05.2024, 00:57
Post: Comment fonctionnent Internement les guichets automatiques ?
Orvilledop Guest
15.05.2024, 16:04
Post: Comment fonctionnent Internement les guichets automatiques ?
Franck Guest
14.05.2024, 19:34
Post: Comment deployer un site web statique sur github?