Существуют следующие принципы REST:
- Клиент-серверная архитектура (Client-Server): Разделение обязанностей между клиентом (потребителем сервиса) и сервером (поставщиком сервиса). Это способствует переносимости клиентского кода и масштабируемости сервера.
- Отсутствие состояния (Stateless): Каждый запрос от клиента к серверу должен содержать всю информацию, необходимую серверу для выполнения этого запроса. Сервер не хранит клиентское состояние между запросами.
- Кэширование (Cacheable): Сервер может явно указывать, могут ли данные быть кэшированы клиентским или промежуточным слоем. Это улучшает производительность и масштабируемость.
- Единообразный интерфейс (Uniform Interface): Самый важный принцип, включающий четыре подраздела:
- Идентификация ресурсов (Identification of resources): Ресурсы идентифицируются уникальными URI (Uniform Resource Identifiers).
- Манипулирование ресурсами через представления (Manipulation of resources through representations): Клиент взаимодействует с ресурсами, получая их пр