2017-09-12 2 views
0

Wie kann ich Sitzungen erstellen und in Node.js ohne ein Framework wie Express verwalten?Erstellen von Sitzungen ohne Express

Die meisten Fragen, die das Verwalten von Sitzungen in Knoten erwähnt, verwenden Express, um dies zu tun, aber ich möchte wissen, wie das ohne Express zu tun.

Antwort

0

Es ist eine Art, das Rad neu zu erfinden. Ich denke, deshalb wurde jemand abgelehnt. aber manchmal ist es für Lernzwecke nützlich, das Rad neu zu erfinden.

Sitzungsbehandlung erfolgt hauptsächlich über Cookies (manchmal auch in der URL codiert). In diesem Prozess sendet der Server einen eindeutigen Bezeichner (Cookie) an den Client und erstellt eine lokale Datei mit den Daten, die Sie in der Sitzung gespeichert haben. Bei der nächsten Anfrage wird überprüft, ob der eindeutige Bezeichner vorhanden ist Dateien, wenn sie übereinstimmen, werden sie die Datei auswählen und Daten aus dieser Datei lesen und dann können Sie diese Sitzung verwenden. Wenn die Datei oder die eindeutige ID nicht existiert, erstellt sie eine leere Datei mit dieser eindeutigen ID und sendet sie im Set-Cookie-Header an den Client, um die Sitzung beim nächsten Mal zu identifizieren.

Hier sind einige Schritte, die Sie folgen können, um die Sitzung zu behandeln:

  1. Auf eine Anfrage zuerst die Cookies überprüfen in der req Erhalt Ihrer Session-Cookie zu finden.
  2. Wenn es existiert, lesen Sie die eindeutige ID aus und überprüfen Sie, ob die Datei mit diesem Namen (eindeutige Kennung) existiert.
  3. Wenn die Datei vorhanden ist, lesen Sie das Objekt aus der Datei und speichern Sie es in einer lokalen Variablen mit dem Namen mysession (benennen Sie es selbst).
  4. Wenn die Datei oder der Sitzungscookie nicht existiert, erstellen Sie eine leere Datei mit einer zufällig generierten eindeutigen ID. und senden Sie diese eindeutige Kennung in Form eines Sitzungscookies mit Hilfe des Set-Cookie-Headers an den Client.

alle oben genannten Dinge tun, bevor Sie alle Daten an den Client senden

die Session-Datei mit Inhalt Ihrer mysession Variable, die Sie auf diese Variable gemacht für jede Modifikation schreiben.

Verwandte Themen