REST (Representational State Transfer) — это архитектурный стиль, который используется для разработки сетевых приложений. 4 Он не является стандартом или протоколом, а скорее набором рекомендаций для построения распределённых систем. 4
Система REST работает на основе нескольких принципов, которые обеспечивают простоту, гибкость и масштабируемость веб-сервисов: 4
- Клиент-серверная архитектура. 14 В системе чётко разделены обязанности между клиентом и сервером. 4 Клиент отвечает за пользовательский интерфейс, сервер — за обработку данных. 4
- Отсутствие состояния. 14 Каждый запрос от клиента к серверу должен содержать всю информацию, необходимую для его обработки. 4 Сервер не хранит информацию о предыдущих запросах, что повышает гибкость системы. 4
- Кешируемость. 14 Ответы от сервера могут быть закешированы, если это указано, что позволяет уменьшить нагрузку на сервер и ускорить время отклика. 4
- Единообразие интерфейсов. 14 Использование стандартизированных методов HTTP (GET, POST, PUT, DELETE) и соглашений о структуре URL позволяет легко взаимодействовать с системой и изменять её компоненты. 4
- Система уровней. 1 Архитектура может быть разделена на несколько слоёв, каждый из которых выполняет свою задачу, например, безопасность, балансировка нагрузки или обработка кеша. 4
- Код по требованию (опционально). 14 Сервер может отправлять клиенту код, который тот должен выполнить для дополнительной обработки, но этот принцип используется не так часто. 4
REST использует стандартные HTTP-методы для выполнения операций с ресурсами. 4 Каждый ресурс представляет собой уникальный объект (например, запись в базе данных или файл), и на него можно воздействовать с помощью различных HTTP-запросов. 4
Некоторые основные HTTP-методы в REST:
- GET — запрос на получение данных с сервера. 4 Обычно используется для получения информации о ресурсе без изменения его состояния. 4
- POST — запрос на создание нового ресурса. 4 Используется для отправки данных на сервер. 4
- PUT — запрос на обновление существующего ресурса. 4 Заменяет текущие данные на сервере. 4
- DELETE — запрос на удаление ресурса с сервера. 4