Le terme "cookie" provient du slang américain et pourrait se traduire en français par quelque chose d'un tantinet péjoratif comme "un numéro" ou "un phénomène".
Nous avons vu que le serveur pouvait conserver temporairement des données au moyen des champs cachés d'un formulaire. Ces données sont toujours en transit entre le serveur et le client et disparaissent aussitôt que l'échange est terminé. Pour enregistrer des données de façon un peu plus permanente le serveur devra donc les conserver dans ses propres fichiers avec toutes les complications de gestion qui s'en suivent.
Les cookies sont un autre moyen pour un serveur de conserver d'une façon plus ou moins permanente des informations directement sur le poste client. Ils sont aussi les seuls moyens pour un script d'écrire ou de lire sur le disque rigide du poste de travail.
Les cookies sont en fait des informations qui seront enregistrées dans un ou plusieurs fichiers sur le disque rigide. Pour créer un cookie le serveur envoie un entête HTTP qui ressemble à ceci:
Set Cookie name=<nom>; expires=<date>; path=<chemin>; domain=<domaine>; secure
name | est le nom donné au cookie (sans virgule, point-virgule ou espace) |
expires | est la date à laquelle le cookie ne sera plus valide |
path | est le nom du répertoire du serveur pour lequel le cookie est valide |
domain | est le nom du domaine pour lequel le cookie est valide et accessible |
secure | indique que ce cookie ne sera accessible que via une transaction sécurisée (HTTPS) |
Pour ce navigateur, les cookies sont conservés dans le fichier "cookies.txt" qui se trouve dans le répertoire d'installation de Netscape.
Dans le cas de Internet Explorer les cookies sont conservés dans un répertoire du système sous forme de fichiers indépendants.
Un cookie comprend les différents champs que nous avons décrits précédemment. D'une façon assez bizarre les cookies sont gérés au moyen de la propriété cookie de l'objet document (document.cookie). Toutefois cette propriété
n'est pas réellement liée au document comme tel
contient tous les cookies visibles mais n'est pas un tableau
est géré par le navigateur lui-même et non pas comme un objet JavaScript
L'écriture d'un cookie par un script se fait en utilisant document.cookie
La lecture d'un cookie se fait par une recherche dans le tableau des cookies. Seuls les noms et valeurs associés à la fenêtre courante sont accessibles.
Pour supprimer un cookie il suffit de le réenregistrer avec une date d'expiration passée.
Pour plus de détails veuillez consulter les exemples d'application ou la norme RFC 2109 au URL suivant: http://www.w3.org/Protocols/rfc2109/rfc2109
En théorie les navigateurs ne conserverons qu'un maximum de 300 cookies au total dont 20 au plus par serveur. Lorsque ces limites sont atteintes le navigateur détruira le plus ancien cookie. De plus la taille d'un cookie ne peut dépasser 4 kilo-octets et quelques internautes en ont peur et les désactivent.
Identifier un utilisateur au moyen d'un code et d'un mot de passe (encrypté il va sans dire!)
S'en servir comme signets
Conserver certaines préférences de l'internaute
Garder un profil d'utilisateur (petit piège des publicitaires!)
Faire un compteur de visites
Conserver un panier à provisions
Le chapitre 11 de votre manuel.