REST

BackendЧастота употребления: очень высокая· Сложность: 3/5· Актуальность: 5/5· Тренд: стабильно

Архитектурный стиль построения веб-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 при конфликте версий.
#API #HTTP #architecture #JSON

Источники