Junior
125
questionbank
Что такое REST?
Answer from AI
sobes.tech AI
REST (Representational State Transfer) — это архитектурный стиль для построения распределенных систем, в основном используемый при проектировании веб-сервисов. Он основан на наборе принципов и ограничений, которые определяют, как веб-ресурсы взаимодействуют друг с другом.
Ключевые принципы REST:
- Клиент-сервер: Четкое разделение обязанностей между клиентом и сервером.
- Stateless (отсутствие состояния): Сервер не хранит информацию о состоянии клиента между запросами. Каждый запрос содержит всю необходимую информацию для обработки.
- Cacheable (кэшируемость): Клиенты могут кэшировать ответы сервера для повышения производительности. Сервер явно указывает, можно ли кэшировать ответ.
- Layered System (слоёная система): Клиент может взаимодействовать с промежуточным слоем (например, прокси, балансировщик нагрузки), не зная об этом.
- Code on Demand (код по требованию) - опционально: Сервер может передавать исполняемый код клиенту (например, JavaScript), расширяя функциональность клиента.
- Uniform Interface (единообразный интерфейс): Наиболее важный принцип, который включает в себя следующие ограничения:
- Идентификация ресурсов (URI).
- Манипуляции ресурсами через представления (обмен данными в определенном формате, например JSON, XML).
- Самоописываемые сообщения (сообщения содержат всю необходимую информацию для их понимания).
- HATEOAS (Hypermedia as the Engine of Application State): Клиент переходит между состояниями приложения, используя гиперссылки, содержащиеся в ответах сервера.
RESTful API — это реализация REST-стиля для веб-сервисов, использующая стандартные HTTP-методы (GET, POST, PUT, DELETE) для работы с ресурсами.
// Пример использования HTTP-методов в RESTful API
// Получить ресурс
// GET /api/products/1
// Создать ресурс
// POST /api/products
// Body: { "name": "New Product", "price": 10.50 }
// Обновить ресурс
// PUT /api/products/1
// Body: { "name": "Updated Product", "price": 11.00 }
// Удалить ресурс
// DELETE /api/products/1