Der Inhalt dieses Artikels befasst sich mit der Frage, was Cookies in Node sind. Wie benutzt man es? Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.
Wir wissen, dass http
ein zustandsloses Protokoll ist.
Lassen Sie mich ein kleines Beispiel zur Veranschaulichung geben: Xiao Ming durchsucht beispielsweise mehrere Seiten und kauft einige Artikel. Ohne zusätzliche Mittel kann der Server nicht genau wissen, was Er hat es gekauft, weil der Server jedes Mal einfach nicht weiß, ob die Person, die eine Anfrage stellt, Xiao Ming ist, es sei denn, Xiao Ming muss 一个标识
beweisen, dass er Xiao Ming ist.
Um die Identität des Benutzers zu identifizieren und die Sitzungsverfolgung durchzuführen, wurden daher Cookies angezeigt.
Einfach ausgedrückt ist ein Cookie eine Kennung.
Genau genommen handelt es sich bei einem Cookie um einige Informationen, die bei jeder Verbindung vom Browser an den Server übermittelt werden Methode kann der Server den Client identifizieren. 客户端
Insbesondere wenn der Browser zum ersten Mal eine Anfrage an den Server initiiert, generiert der Server ein
und sendet es an den Client-Browser. Der Browser speichert diese eindeutige Kennung in Cookie und bei jeder weiteren Anfrage , sendet der Client-Browser diese eindeutige Kennung an den Server und der Server verwendet diese eindeutige Kennung, um den Benutzer zu identifizieren. 唯一标识符
Das Bild oben ist ein im Browser gespeicherter Cookie. Sein Name ist name und sein Wert ist abc. Normales CookieEin bloßes Anschauen reicht nicht aus. Als nächstes verwenden wir node, um ein normales Cookie zu erstellen.
Installieren Sie zunächst das Express-Framework und die CookieParser-Middleware
npm i express --save npm install cookie-parser --save
rrree
Öffnen Sie nach dem Ausführen http://localhost:4000/ im Browser Öffnen Sie am Beispiel von Chrome das Browser-Debugging-Tool mit F12, und Sie können das von Ihnen definierte Cookie unter den Cookies in der Anwendung finden.
Die Attribute req.cookies und req.signedCookies sind die Analyseergebnisse der Cookies im Anforderungsheader, der mit der http-Anfrage gesendet wird.
Unter diesen entspricht req.cookies gewöhnlichen Cookies und req.signedCookies signierten Cookies.
Wenn in der Anfrage kein Cookie vorhanden ist, sind beide Objekte leer.
Ein gültiges signiertes Cookie wird im
-Objekt platziert. req.signedCookies
var express = require('express'); var cookieParser = require('cookie-parser'); var app = express(); app.use(cookieParser()); app.use(function (req, res) { if (req.url === '/favicon.ico') { return } // 设置常规cookie, 有效期为20s, 客户端脚本不能访问它的值 res.cookie('name', 'abc', { signed: false, maxAge: 20 * 1000, httpOnly: true }); console.log(req.cookies, req.url, req.signedCookies); res.end('hello cookie'); }) app.listen(4000)
Nehmen Sie Chrome als Beispiel, f12, um das Browser-Debugging-Tool zu öffnen In der Anwendung finden Sie das von Ihnen definierte signierte Cookie. Das Format lautet wie folgt: s%3Aefg.7FJDuO2E9LMyby6%2Bo1fGQ3wkIHGB9v1CDVWod8NQVAo
ist der verschlüsselte Hashwert, der von SHA-1 HMAC auf dem Server generiert wird.
Wenn der Wert dieses signierten Cookies manipuliert wird, schlägt die Entschlüsselung des Cookies auf dem Server fehl und die Ausgabe von req.signedCookies im Knoten ist falsch. Wie folgt:
Und wenn das Cookie intakt übergeben wird, wird es korrekt analysiert:
ZusammenfassungSie können jede Art von Textdaten in einem Cookie speichern, aber normalerweise speichern Sie ein
auf der Clientseite, damit es auf dem Server intakt bleiben kann Nebenbenutzerstatus. 会话cookie
Detaillierte Erklärung von Promise in jQuery, Angular und Node
So verwenden Sie den Cluster-Cluster in Knoten
Das obige ist der detaillierte Inhalt vonWas sind Cookies in Node? Wie benutzt man es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!