Eine typische Web-App ist aufgrund ihres Anforderungs- / Antwortcharakters größtenteils zustandslos . Das HTTP-Protokoll ist das beste Beispiel für ein zustandsloses Protokoll. Aber da die meisten Web - Anwendungen benötigen Zustand , um das zu halten Zustand , zwischen Server und Client werden Cookies verwendet , so dass der Server in jeder Antwort zurück an den Client senden. Dies bedeutet, dass die nächste vom Client gestellte Anforderung dieses Cookie enthält und somit vom Server erkannt wird. Auf diese Weise kann der Server eine Sitzung mit dem zustandslosen Client aufrechterhalten, wobei er fast alles über den Status der App weiß , jedoch auf dem Server gespeichert ist. In diesem Szenario hält der Client zu keinem ZeitpunktZustand , so funktioniert Ember.js nicht .
In Ember.js sieht es anders aus. Ember.js macht die Aufgabe des Programmierers erleichtert , weil es in der Tat das hält Zustand für Sie, in dem Kunden in jedem Moment über seine wissend Zustand ohne eine Anfrage an den Server zu fragen zu müssen Zustand Daten.
Das Halten des Status im Client kann jedoch manchmal auch zu Parallelitätsproblemen führen, die in zustandslosen Situationen einfach nicht vorhanden sind . Ember.js befasst sich jedoch auch mit diesen Problemen für Sie, insbesondere Ember-Daten werden unter diesem Gesichtspunkt erstellt. Zusammenfassend ist Ember.js ein Framework für Stateful Clients.
Ember.js funktioniert nicht wie eine typische zustandslose Webanwendung, bei der die Sitzung , der Status und die entsprechenden Cookies fast vollständig vom Server verarbeitet werden. Ember.js behält seinen Status vollständig in Javascript (im Speicher des Clients und nicht im DOM wie bei einigen anderen Frameworks) und benötigt den Server nicht, um die Sitzung zu verwalten. Dies führt dazu, dass Ember.js in vielen Situationen vielseitiger ist, z. B. wenn sich Ihre App im Offline-Modus befindet.
Aus Sicherheitsgründen muss natürlich jedes Mal, wenn eine Anforderung zur Authentifizierung gestellt wird , eine Art Token oder ein eindeutiger Schlüssel an den Server gesendet werden . Auf diese Weise kann der Server das Sendetoken (das ursprünglich vom Server ausgestellt wurde) und nachschlagen Überprüfen Sie, ob es gültig ist, bevor Sie eine Antwort an den Client zurücksenden.
Meiner Meinung nach liegt der Hauptgrund für die Verwendung eines Authentifizierungstokens anstelle von Cookies, wie in den häufig gestellten Fragen zu Ember Auth angegeben, hauptsächlich in der Natur des Ember.js-Frameworks und auch darin, dass es besser zum Stateful- Web-App-Paradigma passt . Daher ist der Cookie-Mechanismus nicht der beste Ansatz beim Erstellen einer Ember.js-App.
Ich hoffe, meine Antwort wird Ihrer Frage mehr Bedeutung verleihen.