Zustandslosigkeit

Netzwerkprotokoll

In der Informatik bezeichnet Zustandslosigkeit (englisch stateless) die Eigenschaft eines Kommunikationsprotokolls oder eines verteilten Systems, Anfragen grundsätzlich als voneinander unabhängige Transaktionen zu behandeln. Der Kommunikationsteilnehmer speichert keinen Protokollzustand und kann Anfragen desselben Auftraggebers somit nicht miteinander in Verbindung setzen. Das Gegenteil ist Zustandsbehaftung oder auch Zustandshaltung.

Vorteile

Bearbeiten

Ein Vorteil von Zustandslosigkeit ist die geringere Komplexität, da kein Kontext und keine Sitzungsinformationen gespeichert und verwaltet werden müssen. Dadurch lassen sich Lastverteilung und Skalierbarkeit einfacher realisieren.

Viele Anwendungen erfordern allerdings einen Benutzer- oder Sitzungskontext. Die Vorteile eines zustandslosen Protokolls relativieren sich, wenn sich der Verwaltungsaufwand von Kontext und Sitzung lediglich an eine andere Stelle in der Systemarchitektur verschiebt.

Beispiele

Bearbeiten

Das Hypertext Transfer Protocol (HTTP) ist ein zustandsloses Netzwerkprotokoll. Eine HTTP-Anfrage enthält alle Informationen, die der Webserver zur Erstellung der Antwort benötigt. Mehrere Anfragen, auch von demselben Client, können parallel bearbeitet werden. Dieses Prinzip wird auch beim REST-Paradigma für Programmierschnittstellen angewandt, die auf HTTP aufbauen.

Alternativ zu REST kann eine Webanwendung eine eigene Sitzungsverwaltung implementieren. Dies erfolgt üblicherweise durch Übermittlung eines Sitzungsbezeichners in jeder HTTP-Anfrage, beispielsweise im Uniform Resource Identifier oder in einem HTTP-Cookie.

In einer Schichtenarchitektur können auf unterschiedlichen Netzwerkschichten zustandslose und zustandsbehaftete Protokolle gleichzeitig im Einsatz sein. Das zustandslose HTTP setzt beispielsweise das verbindungsorientierte Transmission Control Protocol (TCP) als Transportprotokoll voraus. TCP wiederum arbeitet zustandsbehaftet, da es den Verbindungsstatus mit einer Zustandsmaschine verwaltet.

Literatur

Bearbeiten
  • Volker Stiehl: Prozessgesteuerte Anwendungen entwickeln und ausführen mit BPMN. 1. Auflage. d.punkt.verlag, Heidelberg 2013, ISBN 978-3-86490-007-5.
  • Manfred Steyer, Vildan Softic: Angular JS. Moderne Webanwendungen und Single Page Applications mit JavaScript. O’Reilly Verlag, Köln 2015, ISBN 978-3-95561-950-3.
  • Dieter Masak: IT-Alignment. IT-Architektur und Organisation, Springer Verlag, Berlin/ Heidelberg 2006, ISBN 3-540-31153-X.
  • Matthias Knoll, Stefan Meinhardt (Hrsg.): Mobile Computing. Springer Fachmedien, Wiesbaden 2016, ISBN 978-3-658-12028-3.
  • Heiko Häckelmann, Hans J. Petzold, Susanne Strahringer: Kommunikationssysteme. Technik und Anwendungen, Springer Verlag, Berlin/ Heidelberg 2000, ISBN 3-540-67496-9.
Bearbeiten