С моей точки зрения, сессия нарушает RESTfulness
либо когда она хранится в памяти, либо в дБ.
В случае, когда сеанс хранится в памяти, трудно масштабировать сервер, используя подобное распределение нагрузки, поскольку серверы не разделяют данные сеанса.
Аналогичным образом, если сеанс хранится в базе данных, база данных будет перегружена, когда множество серверов одновременно делают запросы.
Моя проблема связана со вторым случаем.
Долгое время я думал, что сервер и база данных разные.
Мое прошлое предположение)
Когда клиент делает запрос к серверу с конкретными данными, сервер сохраняет эти данные в базе данных, такие как mysql или mongo и т. Д.
Таким образом, серверу не нужно заботиться о состоянии клиента, поскольку база данных полностью контролирует его.
Сервер может работать автономно против запроса клиента, поскольку сервер может отправлять запросы в базу данных всякий раз, когда хочет узнать, кто является клиентом.
Итак, два моих вопроса:
- Всякий раз, когда упоминается, что "сервер RESTful автономен против запроса клиента", включает ли этот сервер базу данных?
- Если да, и если есть модель User и модель Post, связанные с отношением один-ко-многим, разве это не нарушает RESTfulness?
Я уверен, что второй вопрос не имеет смысла, поскольку, если ответ на второй вопрос верен, то RESTapi никогда не был бы таким полезным.
Но я не могу понять разницу между сеансом в базе данных, нарушающим RESTfulness и User-Post, не нарушающим Restfulness.
Я думаю, что они оба выполняют одну и ту же процедуру, клиент-сервер-база данных.
Как я могу легко понять эту проблему?