Cookie en HTTP
Les cookies représentent un petit texte que le serveur peut enregistrer dans le navigateur de l'utilisateur. Le serveur peut définir plusieurs cookies avec des noms différents.
À l'aide des cookies, le serveur peut identifier l'utilisateur et stocker les données de chaque client entre ses requêtes.
Les cookies sont transmis entre le client et le serveur via des en-têtes HTTP (rappelez-vous, c'est important). À chaque requête du navigateur vers le serveur, le navigateur enverra tous les cookies du site au serveur.
Avec l'en-tête Cookie, le client
envoie les cookies au serveur à chaque
requête :
Cookie: name=john
Si plusieurs cookies ont été définis, le client les enverra tous dans un seul en-tête, séparés par un point-virgule :
Cookie: name=john;surn:smit
Avec l'en-tête Set-Cookie, le serveur
peut définir un cookie avec le nom
et la valeur souhaités :
Set-Cookie: name=john
Est-il vrai que les cookies sont transmis via les en-têtes HTTP ?
Où sont stockés les cookies, sur le serveur ou dans le navigateur ?
Par quel en-tête le serveur définit-il les cookies ?
Par quel en-tête le navigateur envoie-t-il les cookies au serveur ?
À quelle fréquence le navigateur envoie-t-il les cookies au serveur ?
Ouvrez un site web et étudiez les en-têtes de requête et de réponse. Cherchez les en-têtes transmettant les cookies.
Dans le débogueur du navigateur, sous l'onglet "Network", trouvez votre requête. Cliquez dessus. Dans les détails de la requête qui apparaissent, trouvez l'onglet "Cookies". Étudiez-le.
Dans le débogueur du navigateur, sous l'onglet "Application", trouvez l'onglet "Cookies". Étudiez les cookies enregistrés dans votre navigateur pour ce site. Essayez de modifier et de supprimer certains cookies (attention, vous pourriez casser l'authentification ; assurez-vous d'avoir le mot de passe de ce site).