Getsuyodev, Programming is mainly used when constructing an application. Programming requires knowledge of application domains, algorithms, and programming language expertise. Programming can be developed in different logic based on developer knowledge.

Client Serveur – Les cookies

Programmation Client Serveur



Quoi ?:

  • Un cookie est un texte court qui accompagne les demandes et les pages entre le serveur Web et le navigateur.
  • Il contient des informations que l’application Web peut lire chaque fois que l’utilisateur visite le site.

Scénarios :

  • Les cookies permettent aux applications Web de stocker des informations spécifiques à l’utilisateur.
  • Par exemple, lorsqu’un utilisateur visite votre site, les cookies peuvent vous servir à stocker ses préférences, ou d’autres informations.
  • Lorsque cet utilisateur revient visiter votre site Web, l’application peut récupérer les informations stockées précédemment.

Contexte :

  • Par exemple, lorsqu’un utilisateur demande une page de votre site, si votre application envoie, en plus de la page, un cookie contenant la date et l’heure, le navigateur de l’utilisateur récupérera la page plus le cookie, qu’il stockera dans un dossier du disque dur local.
  • Ultérieurement, si l’utilisateur demande à nouveau une page de votre site, le navigateur recherchera sur le disque dur local un cookie associé à l’URL saisie.
  • Si le cookie existe, le navigateur l’enverra à votre site en même temps que la demande de page.
  • Votre application pourra alors déterminer la date et l’heure auxquelles l’utilisateur a visité le site pour la dernière fois.
  • Vous pourrez éventuellement utiliser cette information pour afficher un message sur l’écran de l’utilisateur ou vérifier une date d’expiration.
  • Les cookies sont associés à un site Web, et non à une page spécifique, afin que le navigateur et le serveur échangent des informations de cookie quelle que soit la page demandée par l’utilisateur sur votre site.
  • Au fur et à mesure que l’utilisateur visite d’autres sites, chacun d’entre eux peut aussi envoyer un cookie au navigateur, ce dernier stockant tous les cookies séparément.
  • Les cookies aident les sites Web à stocker des informations sur leurs visiteurs.
  • Plus généralement, les cookies sont un moyen de maintenir la continuité d’une application Web, autrement dit, d’en gérer l’état.
  • En dehors du court instant où ils échangent réellement des informations, le navigateur et le serveur Web sont déconnectés l’un de l’autre.
  • Chaque demande soumise par un utilisateur à un serveur Web est traitée indépendamment de toutes les autres.
  • Il est cependant souvent utile pour le serveur Web de reconnaître un utilisateur lorsqu’il demande une page.
  • Par exemple, le serveur Web d’un site d’achat conserve individuellement la trace de ses acheteurs afin que le site puisse gérer des paniers d’achat et d’autres informations spécifiques à l’utilisateur.
  • Un cookie agit donc comme un peu comme une carte de téléphone prépayée, qui, en présentant des données d’identification pertinentes, aide une application à savoir ce qu’elle doit faire.
  • Les cookies peuvent servir à de nombreux usages, tous ayant pour but d’aider le site Web à mémoriser ses utilisateurs.
  • Par exemple, un site qui réalise un sondage peut juste utiliser un cookie comme une valeur booléenne, afin de savoir si le navigateur d’un utilisateur a déjà participé au vote et d’empêcher ce dernier de voter deux fois.
  • Un site qui demande à un utilisateur de se connecter peut utiliser un cookie pour mémoriser que cet utilisateur s’est déjà connecté et pour ne pas l’obliger à saisir continuellement ses informations d’identification.

Limitations des cookies :

  • La plupart des navigateurs prennent en charge des cookies jusqu’à 4 096 octets = 4Mo.
  • Cette limite relativement basse fait que les cookies sont tous indiqués pour stocker de petites quantités de données, ou mieux encore, des identificateurs tels que des ID utilisateurs.
  • L’ID utilisateur peut alors servir à identifier l’utilisateur et à lire des informations sur ce dernier dans une base de données ou tout autre magasin de données.
  • Les navigateurs limitent également le nombre de cookies que votre site peut stocker sur l’ordinateur de l’utilisateur.
  • La plupart des navigateurs n’autorisent que 20 cookies par site.
  • Si vous essayez d’en stocker davantage, les cookies les plus anciens seront supprimés.
  • Certains navigateurs fixent également une limite absolue, en général 300, au nombre de cookies qu’ils acceptent, tous sites confondus.
  • Une autre limitation aux cookies, que vous vous rencontrerez peut-être, est la possibilité pour les utilisateurs de paramétrer leur navigateur de manière à ce qu’il refuse des cookies.
  • Bien que les cookies puissent être très utiles à votre application, celle-ci ne doit pas dépendre de sa capacité à stocker des cookies.
  • N’utilisez pas de cookies pour prendre en charge des fonctionnalités critiques.
  • Si votre application doit s’appuyer sur des cookies, vous pouvez commencer par tester si le navigateur les acceptera.

Écriture des cookies :

  • Le navigateur est chargé de gérer les cookies sur le système d’un utilisateur.
  • Les cookies sont transmis au navigateur via l’objet HttpResponse, qui expose une collection appelée Cookies.
  • Vous pouvez accéder à l’objet HttpResponse comme étant la propriété Response de votre classe Page
  • Tous les cookies que vous souhaitez envoyer au navigateur doivent être ajoutés à cette collection.
  • Lorsque vous créez un cookie, vous devez spécifier Name et Value.
  • Chaque cookie doit avoir un nom unique pour pouvoir être identifié ultérieurement lorsqu’il sera lu sur le navigateur.
  • Les cookies étant stockés par nom, nommer deux cookies de façon identique aura pour effet d’en remplacer un.
  • Vous pouvez également définir la date et l’heure d’expiration d’un cookie.
  • Les cookies périmés sont supprimés par le navigateur lorsqu’un utilisateur visite le site qui les a écrits.
  • La date d’expiration d’un cookie doit être paramétrée pour toute la durée pendant laquelle votre application jugera la valeur du cookie valide.
  • Pour qu’un cookie n’expire jamais, vous pouvez paramétrer son expiration pour dans 50 ans.
  • Vous pouvez ajouter des cookies à la collection Cookies de plusieurs manières.
  • L’exemple suivant montre deux méthodes servant à écrire des cookies :

Cookies ayant plusieurs valeurs :

  • Vous pouvez ne stocker qu’une valeur dans un cookie, comme le nom d’utilisateur et la date de la dernière visite.
  • Vous pouvez aussi stocker plusieurs paires nom/valeur dans un seul cookie.
  • Les paires nom/valeur sont connues sous le nom de sous-clés. (Les sous-clés sont exposées de façon très semblable à une chaîne de requête dans une URL).
  • Il y a plusieurs raisons d’utiliser les sous-clés.
  • En premier lieu, il est pratique de rassembler des informations connexes ou semblables dans un seul cookie.
  • En outre, si toutes les informations sont réunies dans un seul cookie, les attributs du cookie tels que la date d’expiration s’appliquent à toutes les informations.
  • Inversement, si vous souhaitez assigner des dates d’expiration différentes à des types différents d’informations, vous devez stocker ces informations dans des cookies distincts

Contrôle de la portée du cookie :

  • Par défaut, tous les cookies d’un site sont stockés ensemble sur le client et sont tous transmis au serveur en même temps que les demandes soumises à ce site.
  • En d’autres termes, chaque page d’un site reçoit tous les cookies de ce site.
  • Vous pouvez cependant définir la portée des cookies de deux manières :

Vous pouvez cependant définir la portée des cookies de deux manières :

  • Limiter la portée des cookies à un dossier sur le serveur, ce qui vous permet de limiter les cookies à une application sur le site.
  • Affecter la portée à un domaine, ce qui vous permet de spécifier quels sous-domaines d’un domaine peuvent accéder aux cookies. ü

Limitation des cookies à un dossier ou une application:

Pour limiter des cookies à un dossier sur le serveur, définissez la propriété Path du cookie, comme dans l’exemple suivant :

Limitation des cookies à un dossier ou une application:

  • Le chemin d’accès peut être soit un chemin d’accès physique sous la racine du site, soit une racine virtuelle.
  • La conséquence sera que le cookie ne sera disponible que pour les pages du dossier Application1 ou de la racine virtuelle.

Limitation des cookies à un dossier ou une application:

  • Par exemple, si votre site s’appelle www.contoso.com, le cookie créé dans l’exemple précédent sera disponible pour les pages ayant le chemin d’accès http://www.contoso.com/Application1/ et pour toutes les pages situées sous ce dossier.
  • En revanche, il ne sera pas disponible pour les pages d’autres applications, telles que http://www.contoso.com/Application2/ ou simplement http://www.contoso.com/.

Limitation de la portée de domaine du cookie:

  • Par défaut, les cookies sont associés à un domaine spécifique.
  • Par exemple, si votre site est www.contoso.com, les cookies que vous écrivez sont envoyés au serveur lorsque les utilisateurs demandent une des pages de ce site.
  • Par défaut, les cookies sont associés à un domaine spécifique.

Limitation de la portée de domaine du cookie:

Si votre site possède des sous-domaines (par exemple, contoso.com, sales.contoso.com et support.contoso.com), vous pouvez associer des cookies à un sous-domaine spécifique.

Pour cela, définissez la propriété Domain du cookie, comme dans cet exemple :

  • Lorsque le domaine est défini de cette manière, le cookie ne sera disponible que pour les pages du sous-domaine spécifié.
  • Vous pouvez également utiliser la propriété Domain pour créer un cookie partagé par plusieurs sous-domaines, comme dans l’exemple suivant :

Limitation de la portée de domaine du cookie:

  • Le cookie sera ensuite disponible pour le domaine principal et pour les domaines sales.contoso.com et support.contoso.com.

Lecture des cookies :

  • Lorsqu’un navigateur soumet une demande au serveur, il envoie les cookies de ce serveur en même temps que la demande.
  • Dans vos applications ASP.NET, vous pouvez lire les cookies à l’aide de l’objet HttpRequest, disponible en tant que propriété Request de votre classe Page. 
  • La structure de l’objet HttpRequest est essentiellement la même que celle de l’objet HttpResponse.
  • Vous pouvez donc lire les cookies de l’objet HttpRequest pratiquement de la même manière que vous avez écrit les cookies dans l’objet HttpResponse.
  • L’exemple de code suivant montre deux façons d’obtenir la valeur d’un cookie nommé username et d’afficher sa valeur dans un contrôle Label:
  • Avant d’essayer d’obtenir la valeur d’un cookie, vous devez vous assurer que ce cookie existe ; s’il n’existe pas, vous obtiendrez une exception NullReferenceException.
  • Remarquez également que la méthode HtmlEncode a été appelée pour coder le contenu d’un cookie avant de l’afficher dans la page. Cela sert à s’assurer qu’un utilisateur malveillant n’a pas ajouté de script exécutable dans le cookie.
  • De même, lire la valeur d’une sous-clé dans un cookie est semblable à l’action consistant à le définir.
  • L’exemple de code suivant montre une façon d’obtenir la valeur d’une sous-clé : // …(Request.Coocies[userInfo  ][userName].Value);

Modification de la date d’expiration d’un cookie:

  • Le navigateur est chargé de gérer les cookies.
  • L’heure et la date d’expiration du cookie l’aident à gérer son magasin de cookies.
  • Bien que vous puissiez lire le nom et la valeur d’un cookie, vous ne pouvez donc pas lire sa date et son heure d’expiration.
  • Lorsque le navigateur envoie les informations de cookie au serveur, il n’y inclut pas les informations d’expiration.
  • La propriété Expires du cookie retourne toujours une valeur de date et heure fixée sur zéro.
  • Si vous avez des inquiétudes sur la date d’expiration d’un cookie, vous devez la réinitialiser.
  • Cette opération est traitée dans la section « Modifier et supprimer des cookies ».

Lecture des collections de cookies:

  • Vous devrez parfois lire l’intégralité des cookies disponibles pour la page.
  • Pour lire le nom et la valeur de tous les cookies disponibles pour la page, vous pouvez parcourir la collection Cookies à l’aide d’un code tel que le suivant.
  • Si le cookie possède des sous-clés:

Modification des cookies :

  • Vous ne pouvez pas modifier directement un cookie.
  • Modifier un cookie se fait en créant un nouveau cookie avec de nouvelles valeurs et en le transmettant au navigateur pour remplacer l’ancienne version sur le client.
  • L’exemple de code suivant montre comment modifier la valeur d’un cookie qui stocke le compte des visites de l’utilisateur sur le site :

Suppression des cookies :

  • Supprimer un cookie (le supprimer physiquement du disque dur de l’utilisateur) est une variante de l’opération qui consiste à le modifier.
  • Vous ne pouvez pas supprimer directement un cookie puisqu’il se trouve sur l’ordinateur de l’utilisateur.
  • Toutefois, vous pouvez le faire éliminer par le navigateur lui-même.
  • La technique consiste à créer un nouveau cookie portant le même nom que le cookie à supprimer, mais en lui affectant une date d’expiration antérieure à aujourd’hui.
  • Lorsque le navigateur vérifiera les données d’expiration du cookie, il supprimera le cookie désormais obsolète.

Comments are closed, but trackbacks and pingbacks are open.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More