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

Можно ли организовать REST поверх WebSocket

Да, технически можно организовать REST поверх WebSocket, но это противоречит принципам REST и WebSocket.

Проблемы:

  • REST предполагает stateless-архитектуру, а WebSocket — stateful (постоянное соединение).
  • REST использует HTTP-методы (GET, POST и т.д.), а WebSocket — бинарные/текстовые сообщения без встроенной семантики.

Пример эмуляции REST через WebSocket:

python
# Клиент отправляет JSON-запрос в формате {method, path, body}
message = {
    "method": "GET",
    "path": "/api/users",
    "body": None
}
websocket.send(json.dumps(message))

# Сервер обрабатывает как обычный REST-запрос
async def handle_websocket(websocket):
    async for message in websocket:
        data = json.loads(message)
        if data["method"] == "GET" and data["path"] == "/api/users":
            await websocket.send(json.dumps({"users": [...]}))

Вывод:
Лучше использовать HTTP для REST и WebSocket для real-time взаимодействия (чаты, уведомления). Гибрид усложняет систему без преимуществ.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

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