Что такое REST и на каких принципах он строится? архитектурный стиль построения веб-сервисов использует протокол HTTP оперирует ресурсами, имеющими уникальные URI применяет стандартные методы HTTP: GET, POST, PUT, DELETE реализует принцип stateless: сервер не хранит состояние клиента предоставляет единый интерфейс для идентификации ресурсов и работы с их представлениями допускает кэширование для повышения производительности обеспечивает масштабируемость и самоописуемость сообщений подходит для расширяемых API и широко используется в микросервисах и мобильных приложениях
Что такое REST и каковы его основные принципы?
Что такое REST и на каких принципах он строится? архитектурный стиль построения веб-сервисов использует протокол HTTP оперирует ресурсами, имеющими уникальные URI применяет стандартные методы HTTP: GET, POST, PUT,…
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Что такое 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 — для обмена данными, что соответствует идее представления ресурсов.