Без громадянства - Немає пам'яті (стану), яка підтримується програмою
Stateful - Програма має пам'ять (стан)
Щоб проілюструвати поняття стану я визначити функцію , яка є станом , і той , який є особою без громадянства
Без громадянства
//The state is derived by what is passed into the function
function int addOne(int number)
{
return number + 1;
}
Державний
//The state is maintained by the function
private int _number = 0; //initially zero
function int addOne()
{
_number++;
return _number;
}
Як говорили інші, http по суті є без громадянства. Отже, стан повинен бути вбудований у ваші програми
Уявіть запит через Інтернет, де у вас є клієнтський браузер, який спілкується з сервером. Щоб підтримувати стан над протоколом без стану http, браузер зазвичай надсилає ідентифікатор сеансу серверу на кожен запит. Для кожного запиту сервер буде схожий на "ах, це його хлопець". Потім інформацію про стан можна шукати в пам'яті на стороні сервера або в базі даних на основі цього ідентифікатора сеансу.
У середовищі суто без громадянства цей ідентифікатор сеансу не знадобиться. Кожен запит містив би всю інформацію, яку потрібно обробляти серверу. Але багатьом додаткам потрібно підтримувати стан, щоб відстежувати, автентифіковано чи не сеанс, щоб переглянути певний вміст або відслідковувати, що робить користувач. Ви не хочете надсилати облікові дані користувачів для кожного запиту.