Avec le développement d'Internet, les sites Web enregistreront des données au navigateur lorsque les utilisateurs parcourent, afin que les utilisateurs puissent charger du contenu plus rapidement la prochaine fois qu'ils visitent. Cette façon de stocker des données est appelée cookie. Alors, où sont stockés les cookies? Nous explorerons en détail l'emplacement des cookies stockés dans différents navigateurs.
Le navigateur enregistre des cookies sur le client et l'emplacement de stockage spécifique dépend de l'implémentation du navigateur. Voici les emplacements de stockage des cookies pour plusieurs navigateurs grand public:
Dans l'ensemble, les cookies sont généralement stockés dans des fichiers locaux, pas dans des serveurs distants.
Dans JavaScript, le fonctionnement des cookies se fait principalement via l'attribut document.cookie. Voici un exemple de la façon de lire, d'ajouter et de supprimer des cookies à l'aide de JavaScript.
Les cookies peuvent être lus dans JavaScript via les fonctions suivantes:
function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg)) {
return decodeURIComponent(arr[2]);
} else {
return null;
}
}
Cette fonction utilise une expression régulière pour faire correspondre le cookie avec le nom spécifié et renvoie la valeur correspondante. Notez que, comme la valeur des cookies peut contenir des caractères chinois ou d'autres caractères spéciaux, le déco-composant () est requis pour le décodage.
Pour ajouter des cookies dans JavaScript, vous pouvez utiliser le code suivant:
function setCookie(name, value, duration) {
var exp = new Date();
exp.setTime(exp.getTime() + duration * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + exp.toGMTString() + ";path=/";
}
Cette fonction accepte trois paramètres: le nom représente le nom du cookie, la valeur représente la valeur du cookie et la durée représente la période de validité du cookie (en jours). Il calcule le temps d'expiration et stocke les cookies dans le document.cookie.
En JavaScript, la façon de supprimer les cookies est la suivante:
function deleteCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name);
if (cval != null) {
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";path=/";
}
}
Cette fonction définit le temps d'expiration du cookie au temps passé, ce qui le fait expirer immédiatement.
Dans Node.js, nous pouvons utiliser des bibliothèques tierces pour faire fonctionner les cookies. L'exemple suivant utilise la bibliothèque de cookies-payers pour ajouter, lire et supprimer des cookies.
Entrez la commande suivante dans le terminal pour installer des cookies-parser:
npm install cookie-parser
Dans Node.js, le code pour l'ajout de cookies est le suivant:
const cookieParser = require('cookie-parser');
app.use(cookieParser());
app.get('/setCookie', function(req, res) {
res.cookie('name', 'value', { maxAge: 900000, httpOnly: true });
res.send('cookie added');
});
Ce code définit un cookie nommé «nom» dans la demande, avec une valeur de «valeur», valide pour 900 000 millisecondes, et un drapeau httponly est défini.
Le code pour la lecture d'un cookie est le suivant:
app.get('/getCookie', function(req, res) {
var value = req.cookies.name;
res.send('cookie value: ' + value);
});
Le code pour supprimer un cookie est le suivant:
app.get('/clearCookie', function(req, res) {
res.clearCookie('name');
res.send('cookie cleared');
});
Cet article décrit où les cookies sont stockés et comment faire fonctionner les cookies dans JavaScript et Node.js. Il convient de noter que les cookies ne sont pas cryptés, de sorte que les informations sensibles ne doivent pas être stockées directement dans les cookies. Assurez-vous que la période de validité des cookies est définie raisonnablement pour éviter les risques de sécurité causés par des données expirées.