REST (Представительное состояние передачи) — это архитектурный стиль для проектирования распределенных систем.
REST
REST (Передача представительного состояния) - это архитектурный стиль для проектирования распределенных систем. Он предоставляет набор рекомендаций по структурированию взаимодействия между компонентами, обычно по сети. REST подчеркивает бессостоянный, ориентированный на ресурсы подход, при котором операции выполняются над уникально идентифицируемыми ресурсами, представленными в виде URL, с использованием стандартного набора HTTP-методов.
Также известен как: RESTful архитектура, принципы проектирования REST.
Сравнения
-
REST против клиент-серверной архитектуры: REST строится на основе клиент-серверной архитектуры, но добавляет специфические ограничения, такие как бессостояние и единый интерфейс.
-
REST против CRUD: Хотя REST тесно связан с операциями CRUD (Создать, Читать, Обновить, Удалить), он включает дополнительные рекомендации для масштабируемых и бессостояних взаимодействий.
Плюсы
-
Единый интерфейс: Гарантирует единые стандарты коммуникации.
-
Бессостоянный дизайн: Упрощает обработку на стороне сервера, сохраняя взаимодействия независимыми.
-
Кешируемость: Улучшает производительность с помощью механизмов HTTP-кэширования.
Минусы
-
Не имеет встроенного управления состоянием: Бессостояние означает, что REST не обрабатывает сессии по умолчанию.
-
Перезагрузка или недостаточная загрузка данных: Может произойти, если API не спроектированы эффективно.
Пример
Представьте себе систему на основе REST для онлайн-библиотеки:
-
Ресурс книги может быть представлен URL: http://example.com/books/1
-
Чтобы обновить ресурс (например, изменить название книги), клиент отправит запрос HTTP PUT:
Запрос:
PUT /books/1 HTTP/1.1
Host: example.com
Content-Type: application/json
{
"title": "Обновленное название"
}
Ответ:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 1,
"title": "Обновленное название",
"author": "Оригинальный автор"
}
