@rail01y

Как youtube уведомляет браузер о новом сообщении в live chat?

Стал интересоваться live чатам и их реализацией.

Попробовал:
1) long/short polling
2) websockets
3) server sent events

и решил посмотреть как они реализованы в youtube и для меня стало загадкой, как youtube уведомляет браузер о том, что необходимо послать запрос на
https://www.youtube.com/youtubei/v1/live_chat/get_live_chat?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8&prettyPrint=false


попробовал подебажить live_chat_polimer, но внутри нашел только реализацию fetch
заметил следующее:
1) Youtube с какой-то периодичностью отправляет запрос на live_chat/get_live_chat
2) если в чате начинает кто-то писать - это событие происходит сильно чаще. Сначала подумал, что они использует SSE, но я нигде не нашел запроса

может быть у кого-то будут догадки, как это реализовано у Youtube?
  • Вопрос задан
  • 223 просмотра
Пригласить эксперта
Ответы на вопрос 2
vabka
@vabka
Токсичный шарпист
Скорее всего через вебсокеты.
Если ты открыл дебаггер уже после того как websocket-соединение установлено, ты его не увидишь.
Ответ написан
@risejs
В последней версии Chrome на Youtube используется протокол HTTP/3. Возможно в этом дело, что вы не можете найти WebSocket, который не поддерживается данным протоколом (и будет ли?), в связи с чем уже замену приготовили - WebTransport.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы