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
- Stateless — сервер не хранит состояние клиента.
- Uniform Interface — единый интерфейс.
- Resource-based — всё представлено как ресурс.
- HTTP-методы имеют смысл.
- Коды ответа обязательны.
Пример запроса:
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