Можно ли на сервере в соответствии с принципами REST хранить хоть какоето состояние клиента?
Что то я немного запутался. В соответствии с принципами REST на сервере нельзя хранить никакое состояние клиента, но как быть с сессиями пользователя ? Если мы сохраняем какието данные в сессию и храним ее на сервере мы уже нарушаем принципы REST ? И наш сервис не Restfull ?
а если сохранить что пользователь залогинен на сайте ?
а если сохранить на каком шаге был пользователь если форма много страничная ?
И кстати в ресте нет ничего запрещающего сохранять состояния просто нам говорят что сервер не хранит состояния и если нам нужно что то восстановить то нужно это делать самому
Владимир Коротенко, что восстановить? Про восстановление речи не идет. stateless REST подразумевает, что каждый запрос не зависим и имеет все необходимые параметры, чтобы его обработать отдельно, т.е. сервер не хранит никакой информации о состоянии клиента. vrazbros, по концепции сервер не должен хранить состояния клиента, но может передавать данные в сторонние сервисы (СУБД тоже считается сторонним) в которых состояние фиксируется. Но для сессий php получается что принцип нарушается. Но я не вижу в этом большой проблемы, главное чтобы формирование запросов не подразумевало хранение состояния.
Владимир Коротенко, ваша статья говорит о том же, о чем я написал выше. Stateless в rest - это особенность построения архитектуры клиент-северного взаимодействия, причём здесь протоколы транспортного уровня?
ftp, ssh c сохранением состояния
http без
поэтому любая кастомизация под клиента и нужно на программном уровне реализовывать сохранение состояния.
примеры этот сайт, да и любой другой с лайками и прочими комментами.
Владимир Коротенко, это протоколы прикладные, но не важно. Важно то, что REST - это архитектурный стиль, одним из его свойств является stateless, на каких протоколах это будет реализовываться это уже вопрос следующий.
Vitsliputsli, где здесь про не сохранение состояния
Филдинг описал концепцию построения распределённого приложения, при которой каждый запрос (REST-запрос) клиента к серверу содержит в себе исчерпывающую информацию о желаемом ответе сервера (желаемом представительном состоянии), и сервер не обязан сохранять информацию о состоянии клиента («клиентской сессии»).