Встречается на собеседованиях • сегодня

Что такое REST

REST (Representational State Transfer | Передача состояния представления**)** — это архитектурный стиль для построения сетевых приложений. Определяет как клиент и сервер должны взаимодействовать по сети (обычно через протокол HTTP). Предназначен чтобы помогать делать удобные, понятные и масштабируемые API.

Требования к архитектуре REST:

Существует 5 обязательных ограничений для построения REST-приложений и 1 необязательное.

1. Клиент-серверная модель:

Клиент и сервер чётко разделены. Клиент отвечает за интерфейс пользователя, сервер — за хранение и обработку данных.

2. Отсутствие состояния (stateless):

Каждый запрос от клиента к серверу должен быть самодостаточным и не зависеть от предыдущих запросов. Вся необходимая информация передаётся в запросе.

3. Кэширование:

Ответы сервера должны содержать информацию о том, можно ли их кэшировать. Это помогает сократить задержки и снизить нагрузку.

4. Единообразие интерфейса:

Все взаимодействия между клиентом и сервером должны быть консистентными и предсказуемыми:

• Четкая структура URL.

• Использование стандартных HTTP методов (GET, POST, PUT, DELETE и др.).

• Передача данных в стандартных форматах, чаще всего JSON или XML.

5. Слои (layered system):

Архитектура может состоять из нескольких слоёв (клиент, сервер, прокси, балансировщики и т. д.), где каждый слой не знает о внутреннем устройстве других.

6. Код по запросу (по желанию):

Сервер может передавать клиенту исполняемый код (например, скрипты), чтобы расширить функциональность клиента.

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы