一个要担心的似乎是性能问题, 这方面 WebSockets 怎么样?

RESTful API, 看起来几乎就是 WebSockets 的原始版本..
除了 WebSockets 现在的浏览器兼容性是问题, 需要 Socket.IO 来弥补外,
WebSockets 本身是否合适用来搭建 API 服务的, 用来提供第三方的 API? 

WebSockets 没有跨域限制, 同时适合频繁请求时见效带宽浪费,
发送字符串又对 JSON 和不好数据格式支持良好,

长风秋雁
浏览 338回答 2
2回答

潇潇雨雨

如果是我来设计api的话,我不太会考虑WebSocket,理由如下:WebSocket主要还是用来支持 长连接 服务的,api一般则是短连接居多,业务模式上不太适合WebSocket的client端开发和调试难度明显大于普通的HTTP。现在所有基于HTTP的api都可以比较方便的用curl直接在命令行调试,WebSocket就不可能有这样的便利了。再加上你还要考虑浏览器兼容性,这说明你还是要提供一套基于传统HTTP的api,所以不如只提供HTTP的好了WebSocket也有跨域问题,且各种细节与普通HTTP跨域几乎一样流量方面WebSocket也不一定省,这就看client连接server的频率了,毕竟WebSocket握手还是挺复杂的。至于传输的内容如果要省,那就是纯粹由业务来控制了,理论上你也可以对传输内容进行压缩的,不过一般没人这么做,因为这势必会提高使用者调试api的难度。WebSocket自身性能如何我不确定,我虽然用过,但没有把它和其他类似技术进行横向比较,这个我就不瞎说了。

慕尼黑8549860

RESTful本身只是一个架构或者模式,它一般建立在http之上的吧。api使用协议的权衡点在于:保持连接与创建连接,哪个代价更低就选择哪个。
打开App,查看更多内容
随时随地看视频慕课网APP