Maison > Article > interface Web > nodejs définit les attributs des cookies
Dans le développement Web, les cookies sont une méthode courante de gestion de session qui peut être utilisée pour stocker l'authentification du client, ses préférences ou d'autres informations connexes. Dans Node.js, vous pouvez utiliser le module http intégré pour définir ou lire les propriétés des cookies.
Définir les attributs des cookies :
Pour définir les attributs des cookies, vous devez d'abord créer un serveur http et utiliser la méthode res.setHeader() pour définir le champ Set-Cookie dans l’en-tête de réponse. La valeur de ce champ doit être une chaîne, qui correspond à des informations supplémentaires envoyées par le serveur au client pour enregistrer les informations ou l'état liés au client. Cette chaîne est généralement constituée de paires clé-valeur, où la clé représente le nom du cookie et la valeur représente la valeur correspondant à la clé.
Ce qui suit est un exemple simple de serveur Node.js montrant comment définir les propriétés des cookies :
const http = require('http'); const server = http.createServer((req, res) => { res.setHeader('Set-Cookie', ['name=John', 'age=30']); res.end('Set cookie successfully'); }); server.listen(3000, () => { console.log('Server listening on port 3000'); });
Dans le code ci-dessus, nous utilisons la méthode res.setHeader() pour définir 2 Il existe deux attributs de cookie, l'un est name=John, l'autre est age=30. Plusieurs propriétés de cookie peuvent être définies via un tableau.
Lire les attributs des cookies :
Afin de lire les attributs des cookies, nous devons obtenir les informations correspondantes sur les cookies à partir de la demande du client. Dans Node.js, vous pouvez utiliser l'attribut req.headers.cookie pour obtenir les informations sur les cookies dans l'en-tête de la requête. La valeur de cet attribut doit être une chaîne, qui correspond à des informations supplémentaires envoyées par le client au serveur pour enregistrer les informations ou l'état liés au client. Cette chaîne est généralement constituée de paires clé-valeur, où la clé représente le nom du cookie et la valeur représente la valeur correspondant à la clé.
Ce qui suit est un exemple simple de serveur Node.js qui montre comment lire les attributs des cookies :
const http = require('http'); const server = http.createServer((req, res) => { const cookieHeader = req.headers.cookie; console.log('Cookie Header:', cookieHeader); res.end('Get cookie successfully'); }); server.listen(3000, () => { console.log('Server listening on port 3000'); });
Dans le code ci-dessus, nous avons imprimé en utilisant l'attribut req.headers.cookie Informations sur les cookies envoyées par le client au serveur.
Options de paramétrage des cookies :
En plus de définir le nom et la valeur du cookie, vous pouvez également utiliser certaines options pour contrôler le comportement du cookie, comme l'expiration temps, chemin, domaine, niveau de sécurité d'attente. Ces options sont constituées d'attributs dans l'en-tête Set-Cookie, chacun séparé par des points-virgules.
Voici quelques options de cookies couramment utilisées et leurs fonctions :
Ce qui suit est un exemple de serveur Node.js qui montre comment définir les propriétés des cookies avec des options :
const http = require('http'); const cookieOptions = { maxAge: 24 * 60 * 60 * 1000, httpOnly: true, secure: true, sameSite: 'strict' }; const server = http.createServer((req, res) => { res.setHeader('Set-Cookie', ['name=John', 'age=30', `session=${Date.now()}`, `options=${JSON.stringify(cookieOptions)}`]); res.end('Set cookie with options successfully'); }); server.listen(3000, () => { console.log('Server listening on port 3000'); });
Dans le code ci-dessus, nous définissons un cookie. le nom de l'attribut est options et la valeur est une chaîne JSON contenant plusieurs options. Ce cookie a une durée de vie maximale de 24 heures, ne peut être utilisé que dans les requêtes HTTP, ne peut être envoyé que sous le protocole HTTPS et doit suivre la politique de même origine (stricte).
Résumé :
Dans Node.js, la définition et la lecture des propriétés des cookies sont très simples. Utilisez la méthode setHeader() du module http pour définir les informations d'en-tête Set-Cookie et utilisez l'attribut req.headers.cookie pour obtenir les informations sur les cookies dans la demande du client. Utilisez les options des cookies pour contrôler davantage le comportement des cookies, tel que le cycle de vie, le nom de domaine, le chemin, le niveau de sécurité, etc.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!