Zustandslos - Es gibt keinen Speicher (Status), der vom Programm verwaltet wird
Stateful - Das Programm hat einen Speicher (Zustand)
Um das Konzept des Zustands zu veranschaulichen, werde ich eine Funktion definieren, die zustandsbehaftet und zustandslos ist
Staatenlos
//The state is derived by what is passed into the function
function int addOne(int number)
{
return number + 1;
}
Staatsbürgerlich
//The state is maintained by the function
private int _number = 0; //initially zero
function int addOne()
{
_number++;
return _number;
}
Wie andere gesagt haben, ist http von Natur aus zustandslos. Der Status muss also in Ihre Anwendungen integriert werden.
Stellen Sie sich eine Anfrage über das Web vor, bei der ein Client-Browser mit einem Server-Prozess kommuniziert. Um den Status über das zustandslose HTTP-Protokoll aufrechtzuerhalten, sendet der Browser bei jeder Anforderung in der Regel eine Sitzungs-ID an den Server. Für jede Anfrage wird der Server wie "ah, es ist dieser Typ" sein. Statusinformationen können dann im serverseitigen Speicher oder in einer Datenbank basierend auf dieser Sitzungs-ID nachgeschlagen werden.
In einer Umgebung ohne Status benötigen Sie diese Sitzungs-ID nicht. Jede Anfrage würde alle Informationen enthalten, die der Server verarbeiten müsste. Viele Anwendungen müssen jedoch den Status beibehalten, um zu verfolgen, ob eine Sitzung authentifiziert ist oder nicht, um bestimmte Inhalte anzuzeigen oder um zu verfolgen, was ein Benutzer gerade tut. Sie möchten Benutzeranmeldeinformationen nicht für jede Anforderung drahtlos senden.