REST — REpresentational State Transfer¶
REST
REST предоставляет набор архитектурных ограничений, которые, если их применять как единое целое, делают акцент на масштабируемости взаимодействия между компонентами, обобщенности интерфейсов, независимом развертывании компонентов и промежуточных компонентах, чтобы снизить латентность взаимодействия, обеспечить безопасность и инкапсулировать устаревшие системы.
Рой Филдинг (Roy Fielding).
Ключевая концепция REST — ресурс. Ресурс — это отдельный бизнес-объект или коллекция бизнес-объектов. Для работы с ресурсами используются HTTP-команды, которые указываются с помощью URL. Так, GET-запрос возвращает представление ресурса, POST запрос создает новый ресурс, PUT-запрос обновляет существующий.
Также существует модель зрелости REST.
Стоит добавить, что у REST нет языка описания интерфейсов (IDL — interface definition language). Существуют, впрочем, сторонние решения. Самое популярное — Open API Specification — берет начало в проекте Swagger.
Преимущества¶
- REST простой и понятный
- API можно тестировать в браузере, в расширениях типа Postman или в командной строке с помощью curl при условии использования текстового формата
- Встроенная поддержка стиля взаимодействия “запрос/ответ”
- Дружественность к брандмауэрам
- Не нуждается в промежуточном брокере
Недостатки¶
- Поддерживает лишь стиль взаимодействия “запрос/ответ”1
- Степень доступности снижена — оба участника взаимодействия должны работать всё время обмена данными
- Клиенты должны знать местонахожение (URL) экземпляра сервиса
- Извлечение нескольких ресурсов за один запрос связано с трудностями
- Иногда непросто привязать операции к HTTP-командам
Ссылки¶
https://ru.wikipedia.org/wiki/REST
https://en.wikipedia.org/wiki/Representational_state_transfer
Дата создания : 5 июля 2022 г.