Типичное веб-приложение по большей части не имеет состояния , поскольку оно имеет характер запроса / ответа . Протокол HTTP является лучшим примером протокола без сохранения состояния . Но поскольку большинству веб-приложений требуется состояние , чтобы удерживать это состояние между сервером и клиентом, файлы cookie используются таким образом, что сервер может отправлять каждый ответ обратно клиенту. Это означает, что следующий запрос от клиента будет включать этот файл cookie и, таким образом, будет распознаваться сервером. Таким образом , сервер может поддерживать сеанс с лицом без клиента, зная , в основном все о приложении состоянии , но хранится на сервере. В этом сценарии клиент ни разу не держитсостояние , которое не так, как работает Ember.js .
В Ember.js все по-другому. Ember.js облегчает работу программиста, потому что он действительно хранит состояние для вас, в клиенте, который знает каждый момент о своем состоянии, не обращаясь к серверу с запросом данных о состоянии .
Однако состояние удержания в клиенте также может иногда вызывать проблемы параллелизма, которые просто отсутствуют в ситуациях без состояния. Ember.js, однако, также решает эту проблему для вас, в частности, ember-data строится с учетом этого. В заключение, Ember.js - это фреймворк, разработанный для клиентов с состоянием .
Ember.js не работает как обычное веб-приложение без сохранения состояния , в котором сеанс , состояние и соответствующие файлы cookie почти полностью обрабатываются сервером. Ember.js хранит свое состояние полностью в javascript (в памяти клиента, а не в DOM, как некоторые другие фреймворки) и не нуждается в сервере для управления сеансом. В результате Ember.js становится более универсальным во многих ситуациях, например, когда ваше приложение находится в автономном режиме.
Очевидно, что по соображениям безопасности ему нужен какой-то токен или уникальный ключ для отправки на сервер каждый раз, когда выполняется запрос для аутентификации , таким образом, сервер может искать токен отправки (который был первоначально выдан сервером) и убедитесь, что он действителен, прежде чем отправлять ответ клиенту.
По моему мнению, основная причина, по которой вместо маркеров cookie используется токен аутентификации, как указано в FAQ по Ember Auth, в первую очередь обусловлена природой платформы Ember.js, а также тем, что она больше соответствует парадигме веб-приложения с отслеживанием состояния . Поэтому механизм cookie - не лучший подход при создании приложения Ember.js.
Я надеюсь, что мой ответ придаст больше значения вашему вопросу.