WebSockets 能否用来做 API 服务, 不足在哪里?

发布于 2022-08-25 11:19:29 字数 270 浏览 8 评论 0

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

WebSockets 没有跨域限制, 同时适合频繁请求时见效带宽浪费,
发送字符串又对 JSON 和不好数据格式支持良好,
一个要担心的似乎是性能问题, 这方面 WebSockets 怎么样?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

韶华倾负 2022-09-01 11:19:29

如果是我来设计api的话,我不太会考虑WebSocket,理由如下:

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

WebSocket自身性能如何我不确定,我虽然用过,但没有把它和其他类似技术进行横向比较,这个我就不瞎说了。

酒解孤独 2022-09-01 11:19:29

不清楚,但这个网站是肯定行的。www.haoservice.com

∞梦里开花 2022-09-01 11:19:29

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

终止放荡 2022-09-01 11:19:29

看场景。
对实时性要求高的,请求频繁的,用ws节省连接时间,性能杠杠的。
举个例子:IM、游戏、聊天室

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文