English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le protocole HTTP est un protocole sans état. Cependant, pour un site commercial, il doit maintenir les informations de session entre différentes pages.
Si l'utilisateur doit sauter une page pendant le processus d'enregistrement sur le site, mais doit également garantir que les informations précédemment saisies ne soient pas perdues.
Dans ce cas, le cookie nous aide bien à résoudre le problème.
Presque tous les concepteurs de sites Web utilisent des cookies lors de la conception de sites Web, car ils veulent offrir aux utilisateurs un environnement de navigation plus convivial et plus humain, tout en collectant plus précisément les informations des visiteurs.
La collection de cookies est attachée à l'objet Response et l'objet Request, et doit être utilisée avec Response ou Request en préfixe.
La syntaxe habituelle pour envoyer des cookies au client est :
Lorsque l'on définit une collection de cookies inexistante, elle est créée sur le client. Si le cookie existe déjà, il sera remplacé. Comme les cookies sont envoyés en tant qu'une partie des en-têtes HTTP au client, le code d'envoi des cookies au client est généralement placé avant les balises HTML du fichier HTML envoyé au navigateur.
Si l'utilisateur doit lire les cookies, il doit utiliser la collection Cookies de l'objet Request, la méthode d'utilisation est : Il est important de noter que le navigateur ne peut échanger des données de collection de cookies avec le serveur que avant que le serveur n'ait téléchargé des données au navigateur. Une fois que le navigateur commence à recevoir les données téléchargées par le serveur, l'échange de données des cookies cesse. Pour éviter les erreurs, il faut ajouter response.Buffer=True avant le programme.
1.Propriété Expires :Cette propriété permet de définir une durée pour les cookies. Dans cette période, les cookies sauvegardés peuvent être appelés simplement en ouvrant la page web. Si ce délai est dépassé, les cookies sont automatiquement supprimés. Par exemple : Définir la durée de vie des cookies jusqu'à2004année4mois1Un cookie, une fois atteint, est automatiquement supprimé. Si un cookie n'a pas de date d'expiration définie, sa durée de vie commence à l'ouverture du navigateur et se termine à sa fermeture, la durée de vie se termine à chaque exécution et commence à nouveau à la prochaine exécution.
2.Propriété Domain :Cette propriété définit l'unicité des données transmises par les cookies. Si seul un cookie est envoyé à_blank">la page d'accueil de Sohu
3.Propriété Path :Définit que les cookies ne sont envoyés qu'aux requêtes de chemin spécifiées. Si la propriété Path n'est pas définie, l'application utilise le chemin par défaut.
4.Propriété Secure :Définir si les cookies peuvent être lus par l'utilisateur.
5、Nom=Valeur : Les cookies sont définis et recherchés sous forme de paires clé-valeur.
Vous pouvez créer un objet nommé cookie et stocker des informations textuelles, envoyer ces informations au navigateur, appeler CGI.out pour définir l'en-tête du cookie :
#!/usr/bin/ruby require "cgi" cgi = CGI.new("html4") cookie = CGI::Cookie.new('name' => 'mycookie', 'value' => 'Zara Ali', 'expires' => Time.now + 3600) cgi.out('cookie' => cookie) do cgi.head + cgi.body { "Cookie stored" } end
Nous revenons à cette page et recherchons la valeur du cookie, comme suit :
#!/usr/bin/ruby require "cgi" cgi = CGI.new("html4") cookie = cgi.cookies['mycookie'] cgi.out('cookie' => cookie) do cgi.head + cgi.body { cookie[0] } end
Lors de l'instanciation de l'objet CGI::Cookie, il contient les paramètres suivants :
Paramètres | Description |
---|---|
name | Spécifiez le nom du cookie. |
value | Spécifiez la valeur du cookie. |
expire | Spécifiez la durée de validité du cookie. |
path | Spécifiez le chemin serveur du cookie. |
domain | Spécifiez le domaine du cookie. |
secure | Spécifiez si les cookies doivent être transmis via une connexion HTTPS sécurisée. |