为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

长风秋雁 2023-05-02 12:18:53
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自身性能如何我不确定,我虽然用过,但没有把它和其他类似技术进行横向比较,这个我就不瞎说了。

查看完整回答
反对 回复 2023-05-05
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

RESTful本身只是一个架构或者模式,它一般建立在http之上的吧。
api使用协议的权衡点在于:保持连接与创建连接,哪个代价更低就选择哪个。

查看完整回答
反对 回复 2023-05-05
  • 2 回答
  • 0 关注
  • 326 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信