← Назад в словарь

REST API

REST API (Representational State Transfer) — передача представления состояния

Суть в одном предложении

REST API — это способ построения веб-интерфейса, где ресурсы управляются через HTTP-методы по чётким правилам.

Краткое определение

REST API — это архитектурный стиль для создания Web API, в котором данные представлены как ресурсы и доступны через стандартные HTTP-методы: GET, POST, PUT, PATCH, DELETE.

Оригинал и перевод

  • Язык: английский
  • Оригинал: Representational State Transfer
  • Буквальный перевод: передача представления состояния

Синонимы и варианты написания

  • RESTful API
  • РЕСТ API
  • HTTP API (в практическом контексте)

Происхождение

Термин введён Роем Филдингом в 2000 году в его докторской диссертации. REST описывает архитектурные ограничения для распределённых систем, основанных на HTTP.

Где используется

  • Веб-приложения
  • Мобильные клиенты
  • Микросервисы
  • SPA + backend
  • CMS (WordPress REST API, Bitrix REST)
  • SaaS-интеграции

Когда это важно

REST API критичен, когда:

  • фронтенд отделён от бэкенда
  • несколько клиентов (web, mobile)
  • требуется масштабирование
  • есть внешние интеграции

Подробное объяснение

REST строится вокруг ресурсов, а не действий.

Неправильно (RPC-подход):

/getUser
/createUser
/deleteUser

Правильно (REST):

GET    /users
GET    /users/42
POST   /users
PUT    /users/42
DELETE /users/42

Основные принципы REST

  1. Stateless — сервер не хранит состояние клиента.
  2. Uniform Interface — единый интерфейс.
  3. Resource-based — всё представлено как ресурс.
  4. HTTP-методы имеют смысл.
  5. Коды ответа обязательны.

Пример запроса:

GET /api/users/42 HTTP/1.1
Host: example.com
Accept: application/json

Ответ:

{
  "id": 42,
  "name": "Ivan",
  "role": "admin"
}

HTTP-методы в REST

  • GET — получение
  • POST — создание
  • PUT — полное обновление
  • PATCH — частичное обновление
  • DELETE — удаление

Коды ответа

  • 200 OK
  • 201 Created
  • 204 No Content
  • 400 Bad Request
  • 401 Unauthorized
  • 404 Not Found
  • 500 Internal Server Error

Что часто путают

REST ≠ просто JSON по HTTP. Если нет семантики методов, кодов ответа и структуры ресурсов — это не REST, а RPC поверх HTTP.

Аналоги и связанные термины

  • API
  • Endpoint
  • HTTP
  • Microservices
  • GraphQL

Пример использования

«Мобильное приложение получает список заказов через REST API методом GET /orders.»

Мини-FAQ

  • REST и GraphQL — конкуренты? Да, это разные подходы к проектированию API.

  • Обязателен ли JSON? Нет. REST может использовать XML, JSON, protobuf — формат не принципиален.

Смотри также

  • API
  • GraphQL
  • Endpoint
  • Microservices