我使用nodejs原型化了一个应用程序。 但是这个问题是指假设的大规模推出。 对服务器和/或带宽的要求更高:WebSocket保持活动连接还是重复客户端HTTP GET请求?
例如(也许是一个极端的例子),Twitter允许其客户端每隔20秒向其API发送一次GET请求,或者让每个客户端连接一个HTTP1.1 websocket效率更高? 大约每1分钟或更多,或更less?
顺便说一句,也许这没有关系,但假设GET请求将由nginx处理为应该节点,这是否会有所作为?
WebSockets更好,因为你保持连接打开,不要在每个请求和响应之后发送额外的协议头和其他东西。 看这篇文章 :
在与WebSocketbuild立连接的过程中,客户端和服务器之间交换每帧2个字节的数据,而在进行连续轮询时,与8千字节的http头相比。
websockets是一个更好的select,但它并不是在所有的浏览器呢。 如果你走这条路线,你会想在客户端和node.js端使用SocketIO 。 如果浏览器不支持websocket,那么这将提供闪存套接字的故障转移。
你可以在websockets上获得,因为发送回服务器的数据不像get请求那么大。