Heim > Web-Frontend > js-Tutorial > Hauptteil

Was sind Cookies in Node? Wie benutzt man es?

不言
Freigeben: 2018-09-13 16:25:58
Original
1107 Leute haben es durchsucht

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.

Warum brauchen wir Cookies?

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.

Was ist ein Cookie?

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. 唯一标识符

Nachdem das alles gesagt ist, öffnen Sie den Browser und schauen wir uns zunächst dieses Produkt an.

Was sind Cookies in Node? Wie benutzt man es?

Das Bild oben ist ein im Browser gespeicherter Cookie. Sein Name ist name und sein Wert ist abc.

Normales Cookie

Ein 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
Nach dem Login kopieren
Die Hauptverwendungszwecke der CookieParser-Middleware sind wie folgt:

  1. Cookies aus dem Browser analysieren und einfügen req. In Cookies;

  2. Für signierte Cookies, signieren und unsignieren von Cookies

Der Code lautet wie folgt:

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.

Signiertes Cookie

Signiertes Cookie eignet sich besser für sensible Daten, da es die Integrität der Cookie-Daten überprüfen und dabei helfen kann, Man-in-the-Middle-Angriffe zu verhindern.

Ein gültiges signiertes Cookie wird im
-Objekt platziert. req.signedCookies

Der Code lautet wie folgt:

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)
Nach dem Login kopieren
Öffnen Sie nach dem Ausführen http://localhost:4000/ im Browser

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:

Was sind Cookies in Node? Wie benutzt man es?

Und wenn das Cookie intakt übergeben wird, wird es korrekt analysiert:

Was sind Cookies in Node? Wie benutzt man es?

Zusammenfassung

Sie 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

Verwandte Empfehlungen:

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!