Клиенты request/response
fetch() — дефолт для нового кода (браузер / современный Node): промисы, стримы, AbortController. Не забывайте response.ok.
XMLHttpRequest — легаси и редкие кейсы (upload progress).
- Axios / подобные — общий клиент, interceptors, удобства.
- jQuery.ajax — в основном поддержка старых jQuery-приложений.
Не путать с push-каналами
- SSE — долгий односторонний поток с сервера.
- WebSocket — двусторонний канал.
Это не замена обычному REST-запросу.
Как выбирать на собеседовании
Новый код → fetch. Легаси → XHR/jQuery. Нужна единая политика клиента → библиотека. Real-time → WS/SSE по задаче.
Итог: для типичного API-вызова сегодня — fetch; остальное — контекст легаси или другой модели связи.