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