Архитектура взаимодействия между клиентом и сервером может быть двух типов: без сохранения состояния (stateless) и с сохранением (stateful).
От этого зависит, как сервер ведёт себя между запросами и что он обязан помнить о клиенте.
Stateless:
▶️ Сервер не хранит никакую информацию о предыдущих действиях клиента.
▶️ Каждый запрос полностью самодостаточен и содержит всё необходимое: токен, параметры, контекст.
▶️ Легко масштабируется — можно добавлять сервера без учёта состояний.
▶️ Пример — REST API с авторизацией по токену в каждом запросе.
Stateful:
▶️ Сервер сохраняет данные о клиенте между запросами — например, сессию после логина.
▶️ Клиенту не нужно повторно отправлять данные аутентификации.
▶️ Сложнее масштабировать: требуется синхронизация состояния между серверами.
▶️ Пример — веб-приложение с авторизацией через серверные сессии.
Понимание этой разницы — основа проектирования стабильных и масштабируемых систем.
tags: #обучение
📱 Java Developer | Чат
