Какие принципы лежат в основе REST
Python
Senior
Без компании
Какие принципы лежат в основе REST
Ответы
REST (Representational State Transfer) базируется на шести ключевых принципах:
- **Клиент-серверная архитектура** – разделение ответственности между клиентом и сервером.
- **Stateless** – сервер не хранит состояние клиента между запросами.
- **Кэширование** – ответы сервера должны явно указывать, можно ли кэшировать данные.
- **Единообразие интерфейса** – стандартизация взаимодействия через URI, HTTP-методы (GET, POST, PUT, DELETE) и форматы данных (JSON/XML).
- **Многоуровневая система** – промежуточные серверы (кеш, балансировщики) могут обрабатывать запросы без изменения логики.
- **Код по требованию (опционально)** – сервер может передавать исполняемый код клиенту (например, JavaScript).
Пример REST-запроса:
```
import requests
response = requests.get("https://api.example.com/users/1") # GET для получения данных
if response.status_code == 200:
print(response.json()) # {"id": 1, "name": "John Doe"}
```