Выбор ответа Junior WebSocket и SSE спрашивают часто обновлено

Направление данных в SSE

Вопрос

Как передаются данные в Server-Sent Events?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Только от сервера к клиенту, а клиент отправляет данные обычными запросами. SSE это однонаправленный поток событий от сервера по одному долгому HTTP-ответу с text/event-stream.

Варианты ответа

  1. В обе стороны по одному долгому HTTP-соединению, так же как в WebSocket
  2. Только от сервера к клиенту, а клиент отправляет данные обычными запросамиправильный ответ
  3. Только от клиента к серверу: браузер стримит события, сервер их принимает
  4. В обе стороны, но только бинарными фреймами поверх text/event-stream

Разбор

SSE это однонаправленный поток событий от сервера по одному долгому HTTP-ответу с text/event-stream. Если клиенту надо что-то отправить, он делает обычный fetch. Двунаправленный канал даёт WebSocket. Поток SSE текстовый (UTF-8), бинарных фреймов там нет.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.