Вы можете реализовать WebSockets вне браузера и без участия JavaScript.Например, у вас может быть нативное Java-приложение Android, которое взаимодействует с сервером через WebSockets.
WebSockets - это протокол.API WebSockets, определенный для JavaScript, работающего в браузере, отличается от других.
Вы можете аутентифицировать соединение WebSockets во время рукопожатия WebSockets, используя любой метод, доступный через HTTP (т. Е. Базовая аутентификация, дайджест, cram-md5, сертификат клиента.(TLS) и т. д.), поскольку рукопожатие WebSockets по-прежнему похоже на любой другой HTTP-разговор.Только после рукопожатия завершено, что WS отличается от HTTP.
Обратите внимание, что то, что вы, вероятно, хотите на стороне сервера, это не простой старый веб-сервер, а сервер WebSockets/framework.
Является ли использование WS для подключения мобильных клиентов "хорошей архитектурой", немного расплывчато.Я бы сказал: , если вы решите, чтобы ваш мобильный клиент общался с сервером, и этот сервер находился под вашим контролем, и вы хотите использовать преимущества WS, такие как почти в реальном времени / двунаправленный, то это может бытьхорошо.Лучше, чем готовить свой собственный протокол низкого уровня.