Задать вопрос
Kadi
@Kadi
веб-разработчик

Как лучше хранить данные клиента между его запросами?

клиент общается с сервером через post-запросы, получает ответ в виде json.
Есть авторизация через пользователь/пароль.
  • Вопрос задан
  • 780 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
1) Не надо использовать встроенные сессии вообще нигде и никогда.
В api можно использовать свои собственные токены, описать в документации api процесс их получения и передачи.

2) Почитайте документацию любого api крупного проекта: fb, https://developers.facebook.com/tools/explorer/?me... twitter https://dev.twitter.com/rest/public итд
Так или иначе (oauth, своя авторизация, еще как то) клиент получает access token который далее явно передает.

3) Если вся эта история нужна Вам для авторизации/разграничения прав - ок.
Но если Вы хотите для каждой сессии хранить какие то состояния на сервере - хорошо подумайте насколько это необходимо. Работать со stateless api гораздо приятней и понятней.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
А зачем?
Когда тебе нужно что-то необычное, всегда описывай не только свои затруднения, но и исходную задачу.
Скорее всего ты хочешь чего-то ненужное
Ответ написан
Куки + сессии. Все современные фреймворки умеют работать с различными хранилищами данных сессии: бд, файлы, мемкеш (имхо для сессий самое то). НО не надо сохранять всю инфу пользователя в сессию, она для этого не предназначена. Можно хранить в сессии ID пользователя и остальные ключи, что бы в нужный момент легко выдернуть нужные данные из бд. Если данных много и они не менятся каждый раз, при запросе от пользователя, то можно кешировать данные, например в мемкеш, при этом данные пользователей которые давно не посещали сервис должны вытесняться данными пользователей, посетившими сервис только что.
Ответ написан
Комментировать
Если я правильно понял вопрос, то достаточно клиенту добавить возможность работы с куками
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы