Zum Inhalt springen

Unterschied: JWT und Sessions


Empfohlene Beiträge

Session: Der State wird auf dem Server gehalten. Das heißt, der Server weiß "Die Anfrage gehört Session X und diese Gehört zu Benutzer A".

Stateless: Der Token (kann JWT sein, muss aber nicht) wird mit dem Request mitgesendet. Der Server hat selbst keinen State,  aber er sieht das Token und weiß dann: "ah, das Token gehört zu Benutzer A".

Vorteile von Stateless:

Stell dir mal vor, du hast nicht nur einen Server, sondern ganz viele. Dann müssten die Server irgendwie ihre Sessions synchronisieren -> Aufwand. 

Vorteile von JWT:

In dem JWT-Token können Informationen gespeichert sein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 33 Minuten schrieb pr0gg3r:

Session: Der State wird auf dem Server gehalten. Das heißt, der Server weiß "Die Anfrage gehört Session X und diese Gehört zu Benutzer A".

Stateless: Der Token (kann JWT sein, muss aber nicht) wird mit dem Request mitgesendet. Der Server hat selbst keinen State,  aber er sieht das Token und weiß dann: "ah, das Token gehört zu Benutzer A".

Vorteile von Stateless:

Stell dir mal vor, du hast nicht nur einen Server, sondern ganz viele. Dann müssten die Server irgendwie ihre Sessions synchronisieren -> Aufwand. 

Vorteile von JWT:

In dem JWT-Token können Informationen gespeichert sein.

Danke für die Antwort. Ich meinte aber eher den Unterschied zwischen:

- Session ID, welche in einem Cookie gespeichert wird und alle anderen Infos auf dem Server zu der ID

- Token (JWP, oder was gibt es noch?), wo alle Informationen auf der Clientseite gespeichert (auch im Cookie) werden und der Server nur den Token validieren muss

Wann benutzt man was davon? 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich verstehe deine Frage nicht ganz. Erst einmal ist es davon abhängig, was dein Backend bietet. Hast du ein Session-basiertes Backend, wird eben die Session verwendet. Ob du die Session in einem Session-Cookie oder Token in Cookies speicherst oder auch nicht, hat mit der grundlegenden Technologie erst mal nichts zu tun. 

Hast du ein stateless Backend, dann wird es irgendwie irgendeine Art von Token verwenden. Wird gerne bei APIs gemacht.

Es kommt auch immer drauf an, was für Technologie du verwendest. Hast du zB ne PHP-Seite, ist die Verwendung von Sessions recht einfach (solange du einen Server hast).

Willst du APIs erstellen, ist stateless die bessere Wahl, zumindest wenn man REST macht: Die URL entscheidet auf welche Ressource zugegriffen und zurückgesendet werden und nich die Session. Ich habe da auch mal einen wilden Mix gesehen, da konnte man sich nie sicher sein was zurück kommt (je nach Rolle und zig anderen Faktoren). Sowas will man eigentlich vermeiden.

/Edit:

Nochmal heruntergebrochen:

Im Browser: ist es egal, der kann ein Session-Cookie oder ein Token in einem Cookie speichern. 

Im Backend: 

- Session: stateful

- Token: stateless

 

Bearbeitet von pr0gg3r
Link zu diesem Kommentar
Auf anderen Seiten teilen

Um es vllt einmal anhand eines Beispiels zu machen: 

Ich trenne Front + Backend immer mittels subdomain. 
Wenn mein Frontend mittels z.b. Axios mit api.meinedomain.com kommuniziert (z.B. einloggt, Request sendet etc) dann erfolgt dies mittels JWT. 

Nutzt du z.b. Laravel und hast auch diese unschöne Angewohnheit, mittels blade-Templates im Grunde Front+ Backend auf einen Haufen zu werfen, kannst du Sessions verwenden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...