"WebSocket"和"REST API"之间有何不同

mk-*_*ool 6 rest websocket

当我获取或发布一些数据时,我总是使用REST API.但是WebSocket也可以做到这一点.

所以,当我尝试获取或发布一些数据时,我对WebSocket和REST API之间的区别感到困惑.

小智 6

REST API使用HTTP作为通信的基础协议,而后者又遵循请求和响应范例.然而,随着的WebSockets,虽然通信仍然通过HTTP开始脱落,它进一步升高到跟随的WebSockets协议如果服务器和客户端都符合协议(不是所有的实体支持的WebSockets协议).

现在使用WebSockets,可以在客户端和服务器之间建立全双工和持久连接.这意味着,与请求和响应不同,只要应用程序正在运行,连接就会保持打开状态,并且由于它是全双工,因此可以进行双向同时通信,即现在服务器能够启动通信并"推送"一些数据给客户.

这是实时技术中的主要概念用途,您可以在服务器推送的形式下获得新的更新,而无需客户端重复请求(刷新页面).此类应用的示例包括优步汽车的位置跟踪,推送通知,实时更新的股票市场价格等.

以下是我本月早些时候发布的关于websockets以及它们与使用常规REST API的不同之处的视频:https://www.youtube.com/watch?v = PJZ06MLXGwA&list = PLZWI9MjJG-V_Y52VWLPZE1KtUTykyGTpJ&index = 2

希望这能解决您的疑问!


cas*_*lin 5

您可以为不同的目的提供 REST API 和 WebSocket API。这取决于您的要求,这取决于您想要实现的目标。

例如,WebSocket API 可用于提供实时通知,而 REST API 可用于管理您的资源。

有几个细节你应该注意:

  • REST 是一种独立于协议的架构风格,经常通过 HTTP 协议实现,它应该是无状态的。
  • WebSocket 是一种双向、全双工和持久连接协议,因此它是有状态的。

仅举一个提供不同 API 的应用程序示例:Stack Exchange 提供了一个REST API和一个WebSocket API