Я создаю прототип приложения с помощью nodejs. Но этот вопрос относится к гипотетическому крупномасштабному развертыванию. Что более требовательно к серверу и / или полосе пропускания: WebSocket поддерживает подключения или повторные клиентские HTTP-запросы GET?
Например (возможно, крайний пример), более эффективно для Twitter разрешать своим клиентам отправлять запросы GET к его API каждые 20 секунд или каждый клиент подключен к веб-сокету HTTP1.1? Как насчет каждой минуты или больше, или реже?
Кстати, возможно, это не имеет значения, но если предположить, что запросы GET будут обрабатываться nginx, как предполагалось для узла, будет ли это иметь значение?
веб-сокеты - лучший вариант, но он еще не во всех браузерах. Если вы пойдете по этому маршруту, вы захотите использовать SocketIO на стороне клиента и node.js. Это обеспечит переключение на флэш-сокеты, если браузер еще не поддерживает веб-сокеты.
Вы получаете выгоду от веб-сокетов, поскольку данные, которые отправляются обратно на сервер, не так велики, как запрос на получение.
WebSockets лучше, потому что вы держите соединение открытым и не отправляете лишние заголовки протокола и другие вещи после каждого запроса и ответа. смотреть на Эта статья:
Во время соединения с WebSocket клиент и сервер обмениваются данными за каждый кадр, который составляет 2 байта каждый, по сравнению с 8 килобайтами заголовка http при непрерывном опросе.