Introduction
Ce document décrit ce que sont les cookies HTTP et la différence entre les cookies de session et les cookies persistants.
Informations générales
Les cookies sont des chaînes de données qu'un serveur Web envoie au navigateur. Lorsqu'un navigateur demande un objet du même domaine à l'avenir, il renvoie la même chaîne de données au serveur d'origine.
Les données sont envoyées à partir du serveur Web sous la forme d'un en-tête HTTP appelé « Set-Cookie ». Le navigateur renvoie le cookie au serveur dans un en-tête HTTP appelé « Cookie ».
Voici un exemple de ce à quoi peut ressembler une transaction de cookie HTTP :
Réponse HTTP du serveur Web :
[...]
Set-Cookie: first.lastname
HTTP GET du client :
[...]
Cookie: first.lastname
Dans l'exemple de transaction, le serveur Web a demandé au client de créer le cookie « first.lastname ». La prochaine fois que le client demande un objet à partir de ce domaine, il envoie le cookie avec la demande. Ceci illustre comment un serveur Web peut être en mesure de rappeler certaines informations telles que les connexions utilisateur.
Types de cookies
Il existe deux types différents de cookies : les cookies de session et les cookies persistants. Si un cookie ne contient pas de date d'expiration, il est considéré comme un cookie de session. Les cookies de session sont stockés en mémoire et ne sont jamais écrits sur le disque. Lorsque le navigateur se ferme, le cookie est définitivement perdu à partir de ce point. Si le cookie contient une date d'expiration, il est considéré comme un cookie persistant. À la date spécifiée dans l'expiration, le cookie sera supprimé du disque.
Il existe plusieurs champs différents qu'un cookie peut contenir, séparés par des points-virgules. Les définitions sont les suivantes :
expire
expire=« Wdy, JJ-Lun-AAAA HH:MM:SS GMT »
Détermine quand le cookie doit être supprimé.
chemin
chemin=/
Détermine le chemin de retour du cookie. Dans cet exemple, le cookie sera envoyé lors de l'accès au chemin racine d'un domaine.
domaine
domain=tout.domaine.com
Spécifie le domaine pour lequel le cookie est utilisé. Si ce nom ne correspond pas au domaine actuellement recherché, il est considéré comme un « cookie tiers » et sera rejeté par le navigateur. Cela empêche un domaine de définir un cookie pour un autre domaine.