Dans le protocole HTTP, un cookie est un petit morceau de données envoyé par le serveur au client pour stocker des informations sur le client et renvoyer ces informations au serveur lors des requêtes ultérieures. Chaque cookie possède des propriétés qui contrôlent son comportement et influencent son utilisation. Voici les attributs courants des cookies :
Nom : L'identifiant du cookie, utilisé pour transférer des données entre le client et le serveur.
Valeur : La valeur associée au cookie, qui peut être n'importe quelle chaîne.
Domaine : Spécifiez le nom de domaine pouvant accéder aux cookies. S'il n'est pas défini, il s'agit par défaut du nom de domaine de la page qui a créé le cookie.
Chemin : Spécifiez le chemin par lequel les cookies sont accessibles. S'il n'est pas défini, il s'agit par défaut du chemin de la page Web qui a créé le cookie.
Expire : spécifiez le délai d'expiration du cookie, qui correspond au moment où le cookie sera automatiquement supprimé. S'il n'est pas défini, le cookie est supprimé lorsque l'utilisateur ferme le navigateur.
Drapeau sécurisé (Secure) : Si cet indicateur est défini, cela signifie que le cookie ne peut être transmis que via un protocole crypté (tel que HTTPS).
Drapeau HttpOnly (HttpOnly) : Si cet indicateur est défini, le cookie ne peut être transmis que via le protocole HTTP et n'est pas accessible via des langages de script tels que JavaScript. Cela permet d'éviter les attaques de script intersite (XSS).
En plus des attributs ci-dessus, il existe d'autres attributs de Cookie, tels que SameSite (spécifiant si le Cookie doit être envoyé uniquement au site Web ayant la même origine que le site Web qui a créé le Cookie), etc.
Il convient de noter que le niveau de prise en charge des attributs des cookies varie d'un navigateur à l'autre, et que différentes versions de navigateurs peuvent prendre en charge différents attributs. Lors de l'écriture d'applications Web, vous devez prendre en compte ces problèmes de compatibilité et éviter autant que possible d'utiliser des propriétés obsolètes ou non prises en charge.