что значит "stateless web framework" или "stateful ..."?
Что значат слова "stateless" и "stateful" отдельно от "web framework" я понимаю, но как это может относиться к фреймворкам? Они не умеют хранить сессии или что?
Здравствуйте, Аноним, Вы писали:
А>что значит "stateless web framework" или "stateful ..."? А>Что значат слова "stateless" и "stateful" отдельно от "web framework" я понимаю, но как это может относиться к фреймворкам? Они не умеют хранить сессии или что?
* stateless — ответ зависит только от параметров запроса. может не использовать сессию вообще.
* stateful — ответ зависит от параметров запроса и некоторого состояния на сервере. некоторое состояние обычно хранится в сессии.
Здравствуйте, Аноним, Вы писали:
А>что значит "stateless web framework" или "stateful ..."? А>Что значат слова "stateless" и "stateful" отдельно от "web framework" я понимаю, но как это может относиться к фреймворкам? Они не умеют хранить сессии или что?
А где вы про эту классификацию вычитали?
Re[2]: Stateless/stateful web framework
От:
Аноним
Дата:
18.03.11 05:29
Оценка:
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, Аноним, Вы писали:
А>>что значит "stateless web framework" или "stateful ..."? А>>Что значат слова "stateless" и "stateful" отдельно от "web framework" я понимаю, но как это может относиться к фреймворкам? Они не умеют хранить сессии или что? B>А где вы про эту классификацию вычитали?
Много раз слышал.
На playframework.org пишут, что у него stateless model.
На wicket.apache.org пишут, что он хранит state и компоненты его stateful.
вот тут http://raibledesigns.com/rd/entry/choosing_a_jvm_web_framework автор выделяет три категории веб-фреймфорков, две из которых -- stateful и stateless.
Здравствуйте, Аноним, Вы писали:
А>вот тут http://raibledesigns.com/rd/entry/choosing_a_jvm_web_framework автор выделяет три категории веб-фреймфорков, две из которых -- stateful и stateless.
В данном случае скорее всего имеется в виду то что stateful фреймверки сами хранят своё состояние в сессии, в отличие от stateless, где за хранение данных в сессии отвечает исключительно разработчик.
Какая-то притянутая за уши классификация, ИМХО. Если сравнить приведенный в статье список
# Struts 2, Spring MVC, Stripes
# JSF, Tapestry, Wicket
То во второй строке скорее компанентные фреймверки. Не знаю что там в Tapestry последних версий. Но раньше он, кажется, не особо какое-то состояние сам хранил.
Я думаю, тут хитрее. Понятно, что любой приличный web-фреймворк будет хранит сессии. Вопрос скорее в том, где хранится представление клиента (то есть что ему показать). Я могу такие варианты придумать:
1. Состояние форм клиентов хранится в сесии (wicket, думаю, vaadin). То есть грубо говоря на стороне сервера запоминаем, что такому-тому показать поле ввода со значением таким-то;
2. Состояние форм хранится на самом клиента, а на сервере только запросы к данным (чистая REST модель). То есть мы с помощью JS (или Flash) отображаем окошки и сохраняем их состояния только на клиенте. Серверу уходят запросы вида "дай мне еще одну запись из БД", а как эти данные будут отображаться серверу глубоко пофигу.
3. Состояние формочек строится на основе информации, которая есть в сессии. То есть, сохраняется не "кнопка login спрятана", а каждый раз определяется заново на основе свойств пользователя.
Статью читать лень, но думаю statefull это мой вариант 1, а stateless мой вариант 3.
Здравствуйте, LeonidV, Вы писали:
LV>2. Состояние форм хранится на самом клиента, а на сервере только запросы к данным (чистая REST модель). То есть мы с помощью JS (или Flash) отображаем окошки и сохраняем их состояния только на клиенте. Серверу уходят запросы вида "дай мне еще одну запись из БД", а как эти данные будут отображаться серверу глубоко пофигу.
Я тоже так сначала подумал. Но разве в Java какой-то фреймверк умеет самостоятельно сериализовать сессию на клиента? Только в ASP.NET видел такое.
Re[5]: Stateless/stateful web framework
От:
Аноним
Дата:
19.03.11 18:03
Оценка:
Здравствуйте, Blazkowicz, Вы писали:
B>Я тоже так сначала подумал. Но разве в Java какой-то фреймверк умеет самостоятельно сериализовать сессию на клиента? Только в ASP.NET видел такое.
в JSF, только не сессию, а вьюстате.