Cookie: Manchmal wird auch die Pluralform Cookies verwendet. Der Typ ist eine „kleine Textdatei“, bei der es sich um Daten (normalerweise verschlüsselt) handelt, die von einigen Websites auf dem lokalen Terminal des Benutzers gespeichert werden, um die Identität des Benutzers zu identifizieren und eine Sitzungsverfolgung durchzuführen. Die Informationen werden vorübergehend oder dauerhaft vom Client-Computer des Benutzers gespeichert.
Um Cookies mit Node zu betreiben, benötigen wir das cookie-parser
Modul
npm i cookie-parser -s.
Als nächstes führen wir dieses Modul in unserer Datei ein
//Führen Sie das Express-Modul ein const express = require('express') // Express instanziieren const app = express() //Operation Cookie-Modul const cookieParser = require('cookie-parser'); //Cookie-Signatur hinzufügen app.use(cookieParser('Really outrageous')); //Cookie-Middleware verwenden, der verschlüsselte Wert ist: 'Really outrageous'
Parameterdetails
Name: Ein Name, der das Cookie eindeutig identifiziert.
Wert: Der Wert der im Cookie gespeicherten Zeichenfolge.
Domäne: Das Cookie ist für diese Domäne gültig.
Pfad: Gibt den von diesem Cookie betroffenen Pfad an. Der Browser sendet basierend auf dieser Konfiguration Cookies an den entsprechenden Pfad in der angegebenen Domäne.
läuft ab: Ablaufzeit, die angibt, wann das Cookie abläuft. Wenn diese Zeit nicht festgelegt ist, löscht der Browser alle Cookies, wenn die Seite geschlossen wird. Wir können die Ablaufzeit jedoch auch selbst festlegen.
Hinweis: Wenn die auf dem Client und dem Server eingestellten Zeiten inkonsistent sind, kommt es bei der Verwendung von Ablaufdatum zu einer Abweichung.
max-age: Wird verwendet, um dem Browser mitzuteilen, wie lange dieses Cookie abläuft (in Sekunden). Im Allgemeinen hat „max-age“ eine höhere Priorität als „expires“.
HttpOnly: Weisen Sie den Browser an, dem Skript document.cookie nicht zu erlauben, den Wert zu ändern. Dieser Wert ist in document.cookie ebenfalls unsichtbar, aber dieses Cookie wird in der HTTP-Anfrage übertragen.
Hinweis: Obwohl dieser Wert in Skripten nicht empfehlenswert ist, liegt er in Form einer Datei im Browser-Installationsverzeichnis vor. Diese Einstellung wird im Allgemeinen serverseitig festgelegt.
secure: Wenn „secure“ angegeben ist, ist es in HTTP ungültig und nur in HTTPS gültig. Dies bedeutet, dass das erstellte Cookie nur dann vom Browser zur Sitzungsüberprüfung in der HTTPS-Verbindung übergeben werden kann Da HTTP-Verbindungen diese Informationen nicht weitergeben, werden sie im Allgemeinen nicht gehört.
Bezüglich Leseproblemen:
req.cookies: liest unsere unverschlüsselten Cookies;
req.signedCookies: liest unsere verschlüsselten Cookies.
Fall
app.get('/', (req, res) => { res.cookie('cart', { items: [1, 2, 3] }, { maxAge: 10000 * 2, httpOnly: true, signiert: true, path: '/' }); res.cookie('user', 'Zhang San', { httpOnly: true, path: '/user', signiert: true }) res.send('ok') console.log(req.cookies) console.log(req.signedCookies) })
app.get('/user', (req, res) => { console.log(req.cookies) res.send(req.signedCookies) })
app.get('/news', function (req, res) { res.cookie('Age', 'Dabai', { maxAge: 10000 * 2, httpOnly: true, signiert: true }) res.cookie('Age', '0', { maxAge: 0 }); //Cookie löschen res.send('Hallo NodeJS-Neuigkeiten') })
Unsere cookie
werden gelöscht, wenn maxAge
0
ist.