Cookies Ruby CGI
Le protocole HTTP est un protocole sans état. Mais pour un site Web commercial, il doit conserver les informations de session entre les différentes pages.
Si l'utilisateur doit accéder à une page pendant le processus d'inscription sur le site Web, mais doit s'assurer que les informations précédemment renseignées ne sont pas perdues.
Dans ce cas, Cookie nous a très bien aidé à résoudre le problème.
Comment fonctionnent les cookies ?
Presque tous les concepteurs de sites Web utilisent des cookies lors de la conception de sites Web, car ils souhaitent fournir aux utilisateurs qui naviguent sur le site Web un environnement de navigation plus convivial et humaniste, et en même temps, ils peuvent également collecter plus précisément des informations sur les visiteurs.
Écriture et lecture
La collection de cookies est une collection de données attachée à l'objet Response et à l'objet Request Lorsque vous l'utilisez, vous devez ajouter Response ou Request devant.
La syntaxe utilisée pour envoyer des Cookies au client est généralement :
Lorsqu'un ensemble de Cookies qui n'existe pas est défini, il sera créé sur le client Si les Cookies existent déjà, ils seront remplacés. Les Cookies étant envoyés au client dans le cadre des informations d'en-tête de la transmission HTTP, le code d'envoi des Cookies au client est généralement placé avant la balise du fichier HTML envoyé au navigateur.
Si l'utilisateur souhaite lire les Cookies, il doit utiliser la collection Cookies de l'objet Request. La méthode d'utilisation est la suivante : Il convient de noter que le navigateur ne peut communiquer avec le serveur qu'avant que le serveur n'ait téléchargé des données. au navigateur. Effectuer l'échange de données de collecte de Cookies. Une fois que le navigateur commence à recevoir les données téléchargées par le Serveur, l'échange de données de Cookies s'arrêtera. Afin d'éviter des erreurs, il faut ajouter réponse.Buffer=True. programme et.
Attributs de la collection
1.Attribut Expire : Cet attribut permet de définir une période pour les Cookies. Pendant la période, il suffit d'ouvrir. la page Web. Appelez les cookies enregistrés. Si cette période expire, les cookies seront automatiquement supprimés. comme: La durée de validité des cookies est fixée au 1er avril 2004 et ils seront automatiquement supprimés à cette date. Si un cookie n'a pas de durée de validité définie, son cycle de vie commence dès l'ouverture du navigateur et se termine à la fermeture du navigateur. Le cycle de vie se terminera après chaque exécution et recommencera lors de sa prochaine exécution.
2. Attribut Domaine : Cet attribut définit le caractère unique des données transmises par les Cookies. Si vous n'envoyez que certains Cookies à la page d'accueil _blank"> Sohu, vous pouvez utiliser le code suivant :
3.Attribut Path : définit que les Cookies sont uniquement envoyés Pour la demande de chemin spécifié, si l'attribut Path n'est pas défini, le chemin par défaut du logiciel d'application est utilisé :
5. >Les cookies sont définis et récupérés sous la forme de paires clé-valeur.>
Gestion des cookies dans Ruby- Vous pouvez créer un objet nommé cookie et stocker des informations textuelles, envoyer les informations au navigateur. , appelez 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
Ensuite, nous revenons à cette page et recherchons la valeur du cookie, comme indiqué ci-dessous :#!/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
L'objet CGI::Cookie contient le paramètres suivants une fois instanciés :
参数 | 描述 |
---|---|
name | 规定 cookie 的名称。 |
value | 规定 cookie 的值。 |
expire | 规定 cookie 的有效期。 |
path | 规定 cookie 的服务器路径。 |
domain | 规定 cookie 的域名。 |
secure | 规定是否通过安全的 HTTPS 连接来传输 cookie。 |