Les "cookies"

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.

Principe de fonctionnement

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)
 

Le cas de Netscape

Pour ce navigateur, les cookies sont conservés dans le fichier "cookies.txt" qui se trouve dans le répertoire d'installation de Netscape.

Le cas d'Internet Explorer

Dans le cas de Internet Explorer les cookies sont conservés dans un répertoire du système sous forme de fichiers indépendants.

Application

Structure

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é

Écriture

L'écriture d'un cookie par un script se fait en utilisant document.cookie

Lecture

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.

Suppression

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 

Limitations des cookies

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.

Emploi des cookies

Lectures suggérées