Zustandsloser Server
Zur Navigation springen
Zur Suche springen
Zustandsloser Server bezeichnet ein Servermodell, bei dem der Server keine Sitzungs- oder Zustandsinformationen zwischen mehreren Anfragen eines Clients speichert. Jede Anfrage wird isoliert betrachtet und enthält alle für die Verarbeitung notwendigen Daten.
Prinzip
Ein zustandsloser Server verarbeitet jede Anfrage unabhängig. Es werden keine Daten aus vorherigen Anfragen gespeichert. Alle notwendigen Informationen (z. B. Authentifizierungsdaten) müssen vom Client bei jeder Anfrage neu mitgesendet werden.
Merkmale
- Keine Speicherung von Sitzungsdaten auf dem Server
- Jede Anfrage enthält alle benötigten Informationen
- Anfragen sind unabhängig voneinander
- Einfache horizontale Skalierbarkeit
Vorteile
- Skalierbarkeit: Anfragen können problemlos auf mehrere Server verteilt werden.
- Wartungsfreundlichkeit: Weniger komplexe Serverlogik, da keine Sessionverwaltung erforderlich ist.
- Ausfallsicherheit: Andere Server können Anfragen ohne Kontext übernehmen.
Nachteile
- Mehr Daten pro Anfrage: Alle relevanten Daten müssen bei jeder Anfrage erneut gesendet werden.
- Mehr Verantwortung beim Client: Clients müssen Zustände (z. B. Login) selbst verwalten oder externe Mechanismen (Cookies, Tokens) nutzen.
Beispiel HTTP
Das Hypertext Transfer Protocol (HTTP) ist von Natur aus zustandslos. Jeder Request wird ohne Kontext verarbeitet. Um dennoch Sitzungen (z. B. Login) zu ermöglichen, nutzt man:
- Cookies
- Token-basierte Authentifizierung (z. B. JWT)
- Externe Session-Stores
Vergleich: Zustandslos vs. Zustandsbehaftet
| Merkmal | Zustandsloser Server | Zustandsbehafteter Server |
|---|---|---|
| Speicherung von Sitzungen | nein | ja |
| Skalierbarkeit | hoch | geringer |
| Komplexität auf dem Server | geringer | höher |
| Beispiel | HTTP | traditionelle Application Server mit Session |
Siehe auch
Literatur
- Fielding, Roy T.: Architectural Styles and the Design of Network-based Software Architectures. Dissertation, University of California, Irvine, 2000.