Tous les cookies sont client et serveur
Il n'y a pas de différence. Un cookie ordinaire peut être défini côté serveur ou côté client. Le cookie «classique» sera renvoyé à chaque demande. Un cookie défini par le serveur sera envoyé au client dans une réponse. Le serveur n'envoie le cookie que lorsqu'il est explicitement défini ou modifié, tandis que le client envoie le cookie à chaque demande.
Mais c'est essentiellement le même cookie.
Mais le comportement peut changer
Un cookie est essentiellement une name=value
paire, mais après la valeur peut être un ensemble d' attributs séparés par des points-virgules qui affectent le comportement du cookie s'il est ainsi implémenté par le client (ou serveur). Ces attributs peuvent concerner la durée de vie, le contexte et divers paramètres de sécurité.
HTTP uniquement (n'est pas uniquement serveur)
Un de ces attributs peut être défini par un serveur pour indiquer qu'il s'agit d'un cookie HTTP uniquement. Cela signifie que le cookie est toujours envoyé dans les deux sens, mais il ne sera pas disponible en JavaScript. Notez cependant que le cookie est toujours là! Ce n'est qu'une protection intégrée dans le navigateur, mais si quelqu'un utilise un navigateur ridiculement vieux comme IE5, ou un client personnalisé, il peut en fait lire le cookie!
Il semble donc qu'il existe des «cookies de serveur», mais il n'y en a pas. Ces cookies sont toujours envoyés au client. Sur le client, il n'y a aucun moyen d'empêcher un cookie d'être envoyé au serveur.
Alternatives pour atteindre la `` seule-ness ''
Si vous souhaitez stocker une valeur uniquement sur le serveur, ou uniquement sur le client, vous avez besoin d'un autre type de stockage, comme un fichier ou une base de données sur le serveur ou un stockage local sur le client.