Zustandslosigkeit
# Zustandslosigkeit

In der Informatik bezeichnet Zustandslosigkeit 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

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

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.

