Комментарии 1
WebSockets делают ваши подписки GraphQL сохраняющими состояние
Если у вас заголовок аутентификации это состояние, то остальные запросы идут без него? А если другие запросы призадумаются и пользователь выйдет пока они выполняются, то они прервутся? Нет же? Значит у вас везде "состояние".
WS в качестве потока событий вообще никак не отличается от SSE. Одни и те же преимущества, те же проблемы с аутентификацией (нет возможности задать заголовки).
Но у WS есть per-message-deflate, а у SSE из коробки ничего.
WebSockets заставляют браузер откатиться к HTTP/1.1
RFC 8441 уже 6 лет как в node.js, да и в отстальных серверах оно есть
WebSockets вызывают проблемы безопасности, раскрывая токены аутентификации клиенту
Дак не раскрывайте. Кукисы, одноразовые токены итд.
WebSockets позволяют двунаправленную связь
Плюс же, а не минус. Выработайте протокол взаимодействия по вашему каналу, и закрывайте соеднинение при его нарушении.
Подписки на GraphQL: Почему мы используем SSE/Fetch вместо Websockets