实现服务端推送的主要技术有:Comet,WebSocket、SSE(Server Send Events)、Bayeux protocol。
Comet技术细分
- 隐藏的iframe streaming,依赖浏览器行为,(可能导致浏览器一直显示加载中,用户体验差)
- XHR streaming,依赖浏览器行为
- XHR long polling(同源限制,不能访问其他站点)
- script tag long polling,可以跨站,实现复杂
SSE是单向的,而WebSocket是双向的。