Rest API和Web Socket API之间的区别

2021年4月28日19:52:11 发表评论 951 次浏览

在物联网中, 有2个通信API –

  • 基于REST的通信API
  • 基于Web套接字的通信API

可以使用REST原理或使用Web套接字协议来实现Web服务–

1.基于REST的通信API:

代表性状态转移(REST)是一组体系结构原理, 通过这些原理, 你可以设计着重于系统资源以及如何寻址和转移资源状态的Web服务和Web API。 REST API遵循请求-响应通信模型。 REST体系结构约束适用于分布式超媒体系统中的组件, 连接器和数据元素。

2.基于Web套接字的通信API:

Web套接字API允许客户端和服务器之间的双向全双工通信。它遵循排他对通信模型。此通信API不需要为要在客户端和服务器之间发送的每条消息建立新的连接。一旦建立了连接, 就可以连续不断地发送和接收消息, 而不会发生任何中断。 WebSocket API适用于具有低延迟或高吞吐量要求的IoT应用程序。

Rest APIWeb Socket API之间的区别:

序号 REST API WEB SOCKET API
1. 它是无状态协议。它不会存储数据。 它是有状态协议。它将存储数据。
2. 它是单向的。只有服务器或客户端可以通信。 它是双向的。服务器或客户端均可接收或发送消息。
3. 它是请求-响应模型。 它是全双工模型。
4. HTTP请求包含标头(如head部分, title部分)之类的标头。 适用于实时应用。它没有任何开销。
5. 将为每个HTTP请求建立新的TCP连接。 仅单TCP连接。
6. 水平和垂直缩放(我们可以在水平和垂直方向上添加许多资源和用户数量)。 仅垂直缩放(我们只能垂直添加资源)。
7. 取回数据取决于IP地址和端口号。 它取决于HTTP方法来检索数据。
8. 在消息传输方面, 它比Web套接字要慢。 Web套接字比REST API传输消息的速度更快。
9. 它不需要内存或缓冲区来存储数据。 它需要内存和缓冲区来存储数据。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: