REST API

Representational State Transfer is an architectural style for web APIs, emphasizing stateless interactions and standard HTTP methods. It has become a standard for public APIs since the 2000s

Article body and graph labels may still appear in Russian where English translations have not been added yet.
📖2 min read📊Level 7📅April 16, 2026

Loading map...

REST (Representational State Transfer) — архитектурный стиль для создания веб-сервисов, описанный Роем Филдингом в его диссертации 2000 года. Не протокол и не стандарт, а набор архитектурных ограничений. REST API — самый распространённый способ взаимодействия между клиентом и сервером в современном вебе (около 80% публичных API).

Принципы REST

  • Stateless (без состояния) — каждый запрос содержит всю необходимую информацию; сервер не хранит состояние клиента. Аутентификация — через токен в каждом запросе
  • Client-Server разделение — интерфейс отделён от хранения данных
  • Cacheable — ответы могут кэшироваться (заголовки Cache-Control)
  • Uniform Interface — единый интерфейс через стандартные HTTP-методы и ресурсы
  • Layered System — клиент не знает, общается ли с конечным сервером или прокси

HTTP-методы и ресурсы

Ресурсы идентифицируются URL: /users/123, /posts/456/comments. HTTP-методы определяют операцию: 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 vs GraphQL vs gRPC

REST: прост, понятен, cacheable, текстовый (JSON/XML). GraphQL: клиент запрашивает точно нужные данные; избегает over/under-fetching; сложнее кэшировать. gRPC: бинарный протокол (Protobuf), очень быстрый, подходит для микросервисов. REST — выбор по умолчанию для публичных API; gRPC — для внутренних сервисов.