背景
我们正在开发一款类似 Messenger 的应用程序。我们已经设置了 Websockets 来处理收件箱和聊天。
问题
我的问题很简单。当使用 REST 而不是 Websockets 将数据从客户端发送到服务器时,有哪些优缺点?(我现在不关心更新。)
我们知道 REST 在消息大小方面的开销更高,并且 WS 是双工的(因此始终保持开放)。那么其他我们没有考虑到的事情呢?
背景
我们正在开发一款类似 Messenger 的应用程序。我们已经设置了 Websockets 来处理收件箱和聊天。
问题
我的问题很简单。当使用 REST 而不是 Websockets 将数据从客户端发送到服务器时,有哪些优缺点?(我现在不关心更新。)
我们知道 REST 在消息大小方面的开销更高,并且 WS 是双工的(因此始终保持开放)。那么其他我们没有考虑到的事情呢?
以下是我所了解到的权衡利弊的概要。
使用webSocket的原因:
使用REST的原因:
所以,如果你已经有了一个webSocket实现,并且没有任何问题需要通过REST减少,也不对REST更好的原因感兴趣,那么就坚持使用你的webSocket实现。
相关参考文献:
根据您的要求添加评论:
听起来你期望有人���诉你哪种方法是“正确”的。选择一种方式而非另一种方式是有原因的。如果没有这些理由让你倾向于一种而非另一种,那么这只是一种架构选择,你必须全面考虑你正在做的事情并决定哪种架构选择更合理。如果你已经有了可靠的webSocket连接,并且REST的所有优点都不适用于你的情况,那么你可以优化“效率”,通过webSocket连接将数据发送到服务器。
另一方面,如果你希望在服务器上有一个简单的API,可以通过其他客户端的Ajax调用到达,那么你希望你的服务器支持通过REST进行这个操作,以便其他客户端最简单地执行这个操作。所以,一切都取决于你的需求将你驱使向哪个方向发展,如果没有特定的驱动原因让你选择其中之一,你就自己做出一个架构选择。