我尝试阅读一些文章,但对这个主题不太清楚。
有人想在以下几点上向我解释:
为什么通过http使用websocket?
webSocket是客户端和服务器之间的连续连接。该连续连接允许以下操作:
数据可以随时从服务器发送到客户端,而客户端甚至不需要请求。这通常称为服务器推送,对于客户端需要在服务器上发生某些事情时(例如已收到新的聊天消息或已支付新的价格)迅速了解的应用程序非常有价值。客户端无法通过http推送数据。客户端必须每隔几秒钟发出一次http请求来定期轮询,以便及时获得新数据。客户端轮询效率不高。
数据都可以非常有效地发送。因为已经建立了连接并且非常有效地组织了一个webSocket数据帧,所以可以比必须包含标头,cookie等的HTTP请求更高效地发送数据。
什么是全双工通信?
全双工意味着可以随时在连接上以任何方式发送数据。
您所说的低延迟交互是什么意思
低延迟意味着从您请求某项内容到获得响应之间几乎没有延迟。正如适用于webSocket的那样,这仅意味着可以更快地发送数据(特别是通过慢速链接),因为已经建立了连接,因此不需要额外的数据包往返来建立TCP连接。
有关通过http请求与已建立的webSocket连接发送一些数据所涉及的比较,请参见此答案中列出的步骤:websocket vs rest API for real time data?
这些其他参考也可能有用:
Server-push whenever a function is called: Ajax or WebSockets