REST (Representational State Transfer) - это архитектурный стиль и набор принципов для проектирования сетевых приложений. RESTful-сервисыS следуют этим принципам, используz стандартные HTTP-методы (GET, POST, PUT, DELETE) для взаимодействия с ресурсами.
Ключевые принципы REST:
- Клиент-сервер: Разделение ответственности между клиентом и сервером для улучшения масштабируемости и переносимости.
- Независимость от состояния (Stateless): Сервер не хранит состояние клиента между запросами. Каждый запрос содержит всю необходимую информацию.
- Кэшируемость (Cacheable): Ответы могут быть кэшированы для повышения производительности.
- Единообразный интерфейс (Uniform Interface): Применение стандартных HTTP-методов и унифицированных способов идентификации ресурсов.
- Многоуровневая система (Layered System): Архитектура может быть построена на основе иерархии слоев, где каждый слой не "видит" дальше своего непосредственного соседа.
- Код по требованию (Code-On-Demand) - опционально: Сервер может временно расширять функциональность клиента путем передачи исполняемого кода (например, JavaScript).
Преимущества RESTful-сервисов:
- Простота и легкость понимания.
- Масштабируемость.
- Независимость от технологии клиента и сервера.
- Использование стандартных протоколов.
Пример RESTful URL:
plaintext