RESTful API, 看起来几乎就是 WebSockets 的原始版本..除了 WebSockets 现在的浏览器兼容性是问题, 需要 Socket.IO 来弥补外,WebSockets 本身是否合适用来搭建 API 服务的, 用来提供第三方的 API? WebSockets 没有跨域限制, 同时适合频繁请求时见效带宽浪费,发送字符串又对 JSON 和不好数据格式支持良好,
2 回答
潇潇雨雨
TA贡献1833条经验 获得超4个赞
如果是我来设计api的话,我不太会考虑WebSocket,理由如下:
WebSocket主要还是用来支持 长连接 服务的,api一般则是短连接居多,业务模式上不太适合
WebSocket的client端开发和调试难度明显大于普通的HTTP。现在所有基于HTTP的api都可以比较方便的用curl直接在命令行调试,WebSocket就不可能有这样的便利了。再加上你还要考虑浏览器兼容性,这说明你还是要提供一套基于传统HTTP的api,所以不如只提供HTTP的好了
WebSocket也有跨域问题,且各种细节与普通HTTP跨域几乎一样
流量方面WebSocket也不一定省,这就看client连接server的频率了,毕竟WebSocket握手还是挺复杂的。至于传输的内容如果要省,那就是纯粹由业务来控制了,理论上你也可以对传输内容进行压缩的,不过一般没人这么做,因为这势必会提高使用者调试api的难度。
WebSocket自身性能如何我不确定,我虽然用过,但没有把它和其他类似技术进行横向比较,这个我就不瞎说了。
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
RESTful本身只是一个架构或者模式,它一般建立在http之上的吧。
api使用协议的权衡点在于:保持连接与创建连接,哪个代价更低就选择哪个。
- 2 回答
- 0 关注
- 414 浏览
添加回答
举报
0/150
提交
取消