RESTful API соответствуют принципам архитектурного стиля REST:
- Клиент-сервер: Разделение обязанностей между клиентом, запрашивающим ресурсы, и сервером, их предоставляющим.
- Stateless (Отсутствие состояния): Каждый запрос от клиента к серверу должен содержать всю необходимую информацию для обработки запроса. Сервер не хранит состояние сессии клиента.
- Cacheable (Кэшируемый): Сервер должен явно или неявно указывать, могут ли ответы быть кэшированы клиентом или посредниками.
- Layered System (Многослойная система): Клиент не может отличить прямой вызов сервера от вызова через промежуточные слои (прокси, балансировщики нагрузки и т.д.).
- Code-On-Demand (Код по запросу - опционально): Сервер может временно расширять функциональность клиента, передавая исполняемый код (например, JavaScript).
- **Uniform Interface (Единый и