cundi / blog

push issues as a blog
2 stars 0 forks source link

[转]WebSockets VS Server-Sent Events 各有利弊 #5

Open cundi opened 9 years ago

cundi commented 9 years ago

Alex Recarey: Websockets和SSE(Server Sent Events)都可以对浏览器传输数据,但两种技术并非是竞争关系。 Websocket既可以给浏览器发送数据,还可以从浏览器端接收数据,比如利用Websockets开发的聊天应用就是一个具有代表性的实例。 而SSE只能上传数据到浏览器,比如在线股票行情、twitter feed updating,这些产品的功能就是如此。 在实践中,Websockets更受关注和喜爱,浏览器支持方面也略比SSE占据优势。 但SSE协议可以更轻松的实现后台操作,还可以在不支持它本身的老版浏览器上使用JavaScript,一些实现实例可以在Modernizr Github页面上查询到。HTML5Rocks曾针对两者做过对比,截取文章片段:

总结 SSE超过Websockets的优点: 运行HTTP协议,而不是自定义协议 能够poly-filled JavaScript反相移植不兼容SSE的浏览器 内置支持重新连接和事件识别符 相当简单的协议 Websockets超过SSE的优点: 实时传输,双方向通信 浏览器支持率较高