Что такое REST

Python Middle Без компании
Что такое 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. Код по запросу (по желанию):** Сервер может передавать клиенту исполняемый код (например, скрипты), чтобы расширить функциональность клиента.