1) как мы аутентифицируем и авторизируем Клиента на Шагах 2 и 3, если
сеанс не поддерживается на сервере?
2) нужно ли клиенту отправлять дополнительную информацию с каждым
запрос?
Да. Вы должны отправлять данные аутентификации / авторизации с каждым запросом. Вот что помешает серверу «запомнить», кто вы (то есть сервер без сохранения состояния, без сеансов)
3) Как мы получим корзину покупателя для клиента на шаге 3?
Давайте зададим другой вопрос: что произойдет, если сервер перезагрузится? Вы хотите, чтобы все данные корзины были потеряны? Возможно нет. Подразумевается, что вы должны хранить его где-то, чтобы он мог пережить перезапуск. Подразумевается постоянное хранение. Может быть на сервере или клиенте ...
... теперь, что если ваш клиент перезагрузится? Вы можете выбрать «ресурс» корзины покупок для этого пользователя с помощью запроса POST (когда пользователь добавляет первый элемент) или создать его в тот момент, когда клиент входит в систему (расточительно). Затем вы продолжаете обновлять корзину покупок, используя PUT / DELETE, и выбираете ее, используя GET.
Должно ли оно быть в БД? Может быть, зависит, если ты так хочешь. Если он должен быть постоянным, это хорошее место, чтобы сохранить его, чтобы он мог пережить перезапуск.
Так как получить клиентскую корзину? Ну, вы просто отправить запрос GET для ресурса !!! Это оно! Первый POST создаст ресурс по соответствующему URL, и вы сможете использовать его.
Restful веб-сервисы также имеют релакс-URL, что является ключевой частью дизайна.
4) Нужно ли клиенту отправлять свою корзину, которая была
снова был создан / возвращен сервером на шаге 2 на шаге 3?
Нет. Как уже упоминалось выше. Но если вы используете файлы cookie, LocalStorage или какую-либо другую информацию на стороне клиента, то, возможно, вы используете.
Очевидно, это простейший вариант использования, и поэтому каждый разрабатывает
Веб-сервисы RESTful должны разрабатывать свое приложение, чтобы справиться с этим. Какие
является лучшим и наиболее распространенным способом управления сессиями,
аутентификация, авторизация в веб-сервисах RESTful с использованием RESTLet?
Да. Это просто, но требуется время, чтобы подумать о «ресурсах», а не «услугах». В спокойном дизайне все является (или может быть) ресурсом, включая транзакции, корзины и т. Д.,
Однако авторизация / аутентификация являются частью пакета HTTP-запроса и отправляются с каждым запросом. Я предлагаю вам прочитать о них.
Если мы должны поддерживать кеш на стороне сервера с данными клиента
тогда как это отличается от сеансов обслуживания сервера на нашем
имя?
БОЛЬШАЯ разница! Вы кешируете для производительности или поддерживаете сеанс? Если система перезапустится, будет ли ваша система работать без проблем в пустом кеше? Если да, вы кешируете производительность, иначе вы поддерживаете состояние.
Я настоятельно рекомендую вам прочитать RESTful Web Services от Richardson & Ruby, чтобы отредактировать вышеупомянутые концепции и получить более глубокое представление о том, как спроектированы спокойные службы ... к этому нужно привыкнуть.