443 Stimmen

Was sind Sitzungen? Wie funktionieren sie?

Ich fange gerade an, mich in die Entwicklung von Webanwendungen mit Python einzuarbeiten. Ich stoße dabei auf die Begriffe "Cookies" und "Sessions". Ich verstehe Cookies so, dass sie einige Informationen in einem Schlüssel-Wert-Paar im Browser speichern. Aber ich bin etwas verwirrt in Bezug auf Sessions. Auch in einer Session speichern wir Daten in einem Cookie im Browser des Benutzers.

Zum Beispiel - ich melde mich an mit username='rasmus' y password='default' . In einem solchen Fall werden die Daten an den Server gesendet, der sie überprüfen und mich anmelden soll, wenn ich authentifiziert bin. Während des gesamten Vorgangs erzeugt der Server jedoch auch eine Sitzungs-ID, die in einem Cookie in meinem Browser gespeichert wird. Nun speichert der Server diese Sitzungsnummer auch in seinem Dateisystem oder Datenspeicher.

Aber woher soll es auf der Grundlage der Sitzungs-ID wissen, wie mein Benutzername lautet, wenn ich die Website später durchlaufe? Werden die Daten auf dem Server als Diktat gespeichert, wobei der Schlüssel eine Sitzungs-ID und Details wie username , email usw. die Werte sein?

Ich bin hier ziemlich verwirrt. Brauche Hilfe.

11voto

Tenzin Chemi Punkte 3761

Session ist ein weit gefasster technischer Begriff, der verwendet werden kann, um einen Zustand zu bezeichnen, der entweder auf der Serverseite unter Verwendung eines In-Memory-Caches oder auf der Client-Seite unter Verwendung von cookie , local storage o session storage .

Es gibt nichts Spezifisches im Browser oder auf dem Server, das als Sitzung bezeichnet wird. Eine Sitzung ist eine Art von Daten, die eine Benutzersitzung im Web darstellt. Und diese Daten können auf dem Server oder dem Client gespeichert werden.

Und wie sie gespeichert und weitergegeben werden, ist ein anderes Thema. Aber kurz gesagt, wenn ein Benutzer angemeldet ist, erstellt der Server Sitzungsdaten und generiert eine Sitzungs-ID. Die Sitzungs-ID wird dem Benutzer in einer benutzerdefinierten Kopfzeile oder set-cookie Header, der dafür sorgt, dass sie automatisch im Browser des Benutzers gespeichert wird. Beim nächsten Besuch des Benutzers wird die Sitzungs-ID zusammen mit der Anfrage gesendet und der Server prüft, ob eine Sitzung mit dieser ID existiert und verarbeitet sie entsprechend.

Sie können in einer Sitzung speichern, was Sie wollen, aber der Hauptzweck besteht darin, sich an den Benutzer (Browser) zu erinnern, der Ihre Website zuvor besucht hat, sei es über die Anmeldung, den Einkaufswagen oder andere Aktivitäten.

Deshalb ist es auch wichtig, die Sitzungs-ID davor zu schützen, dass sie von einem Hacker abgefangen wird, der sie benutzt, um sich als ein anderer Benutzer auszugeben.

Wenn Sie über Cookie lesen, werden Sie eine Vorstellung von der Sitzung bekommen: ( https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies )

Auszug aus MDN:

Cookies are mainly used for three purposes:

Session management

    Logins, shopping carts, game scores, or anything else the server should remember
Personalization

    User preferences, themes, and other settings
Tracking

    Recording and analyzing user behavior

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X