2-е свойство REST
Изучаю что такое REST. Нашел статью про REST. Во 2-м свойстве REST написано
Протокол взаимодействия между клиентом и сервером требует соблюдения следующего условия: в период между запросами клиента никакая информация о состоянии клиента на сервере не хранится (Stateless protocol или «протокол без сохранения состояния»).
но с другой стороны также написано, что
Состояние сессии при этом сохраняется на стороне клиента. Информация о состоянии сессии может быть передана сервером какому-либо другому сервису (например, в службу базы данных) для поддержания устойчивого состояния, например, на период установления аутентификации. Клиент инициирует отправку запросов, когда он готов (возникает необходимость) перейти в новое состояние.
Т.е. получается (из 2-й цитаты), что Состояние сессии может храниться на сервере, но с другой стороны
в период между запросами клиента никакая информация о состоянии клиента на сервере не хранится (Stateless protocol или «протокол без сохранения состояния»)
т.е. информация о состояние клиента не может храниться на сервере. Но как я понимаю информация о состоянии сессии включает в себя информацию о состоянии клиента. Получается противоречие. Проясните пожалуйста этот момент (может это 2-е свойство не точно изложено - тогда приведите другую формулировку с другого ресурса). Объясните пожалуйста 2-е свойство REST.
Ответы (1 шт):
Информация о состоянии сессии может быть передана сервером какому-либо другому сервису
Это предложение говорит лишь о передаче, не о хранении, поэтому противоречия нет. Состояние хранится на клиенте и необходимые куски при каждом запросе передаются серверу, а сервер уже дальше получив это состояние от клиента может использовать его