最近,我发现Server-Sent事件是WebSockets的一个更简单的替代方案,用于从服务器进行推送。大多数比较它们的地方(如here,here和here)表示,如果您不需要客户端和服务器之间的全双工通信,那么WebSockets就太过分了,SSE就足够了。
我的问题是,当你需要双向通信(例如聊天),使用常规的ajax请求从客户端发送消息和服务器流接收它们时,使用SSE的缺点是什么?考虑到我必须在服务器端做很少的配置才能使用SSE,这似乎是一个更吸引人的选择。
答案 0 :(得分:20)
SSE 优势优于WebSockets:
参考文献:
答案 1 :(得分:2)
与小型WebSocket消息相比,Ajax请求非常庞大。标准HTTP请求(Ajax)包括许多标头,包括每个请求的cookie,而WebSocket消息只有几个字节。
HTTP(Ajax)请求的好处是,如果这对您的问题有益,它们更容易缓存。