REST
Архитектурный стиль построения веб-API, основанный на ресурсах, унифицированном интерфейсе HTTP и отсутствии состояния на сервере.
Подробно
REST (Representational State Transfer) — архитектурный стиль, описанный Роем Филдингом в диссертации 2000 года; он задаёт набор ограничений: клиент-сервер, отсутствие состояния (statelessness), кэшируемость, единообразный интерфейс, слоистость и опционально код по требованию. На практике REST-API моделируют предметную область как ресурсы с URI (/users/42/orders) и оперируют ими стандартными HTTP-методами: GET — чтение, POST — создание, PUT/PATCH — обновление, DELETE — удаление, используя коды статуса и заголовки для семантики. Стиль применяется в подавляющем большинстве публичных и внутренних HTTP-API, часто с JSON в качестве формата представления. Важно, что REST — это именно ограничения, а не протокол: API, использующий только URL с глаголами (/getUser) или хранящий сессии, строго говоря, не RESTful.
Примеры употребления
- GET /api/v1/users/42 HTTP/1.1 Accept: application/json
- POST /orders — создать заказ, ответ 201 Created с заголовком Location.
- PATCH /users/42 {"email":"new@example.com"}
- REST-эндпоинт возвращает 404, если ресурс не найден, и 409 при конфликте версий.
