Что такое REST и каковы его основные принципы?

Что такое REST и на каких принципах он строится? архитектурный стиль построения веб-сервисов использует протокол HTTP оперирует ресурсами, имеющими уникальные URI применяет стандартные методы HTTP: GET, POST, PUT,…

Короткий ответ

Что ответить на собеседовании

Что такое REST и на каких принципах он строится? архитектурный стиль построения веб-сервисов использует протокол HTTP оперирует ресурсами, имеющими уникальные URI применяет стандартные методы HTTP: GET, POST, PUT, DELETE реализует принцип stateless: сервер не хранит состояние клиента предоставляет единый интерфейс для идентификации ресурсов и работы с их представлениями допускает кэширование для повышения производительности обеспечивает масштабируемость и самоописуемость сообщений подходит для расширяемых API и широко используется в микросервисах и мобильных приложениях

Подробный разбор

Ответ с пояснениями

Что такое REST и на каких принципах он строится?

  • архитектурный стиль построения веб-сервисов
  • использует протокол HTTP
  • оперирует ресурсами, имеющими уникальные URI
  • применяет стандартные методы HTTP: GET, POST, PUT, DELETE
  • реализует принцип stateless: сервер не хранит состояние клиента
  • предоставляет единый интерфейс для идентификации ресурсов и работы с их представлениями
  • допускает кэширование для повышения производительности
  • обеспечивает масштабируемость и самоописуемость сообщений
  • подходит для расширяемых API и широко используется в микросервисах и мобильных приложениях

Развёрнутый ответ

Основной ответ

REST (Representational State Transfer) — архитектурный стиль построения распределённых систем, включая веб-сервисы. Он задаёт ограничения и принципы, на основе которых создаются простые, эффективные и масштабируемые API поверх HTTP. В центре REST находятся ресурсы: каждая сущность системы представляется ресурсом с уникальным URI.

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

  • Клиент-серверная модель — пользовательский интерфейс и хранение данных разделены, поэтому клиентскую и серверную части можно независимо развивать и масштабировать.
  • Бесcостояние (statelessness) — каждый запрос должен содержать всю информацию, необходимую серверу для обработки. Сервер не сохраняет состояние между запросами, что облегчает масштабирование и повышает отказоустойчивость.
  • Единый интерфейс — взаимодействие стандартизируется ограниченным набором определённых методов HTTP (GET, POST, PUT, DELETE и др.), поэтому API проще понимать и подключать.
  • Кешируемость — ответы могут сохраняться в кэше клиента или прокси, что уменьшает нагрузку и ускоряет повторные запросы.
  • Многоуровневая система — между клиентом и сервером могут находиться прокси, балансировщики и другие уровни, остающиеся прозрачными для клиента.
  • Код по требованию (опционально) — сервер может отправить клиенту исполняемый код, например JavaScript, хотя на практике этот принцип используется редко.

Практический контекст

REST часто выбирают для веб-API в микросервисной архитектуре, где особенно важны масштабируемость и простота интеграции. Например, фронтенд на React 18 может получать данные для UI через REST API. Современные REST API обычно используют HTTP статус-коды и заголовки для передачи состояния и метаданных, а JSON — для обмена данными, что соответствует идее представления ресурсов.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку