Rest API和Web Socket API的区别

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

  • 基于REST的通信API
  • 基于Web Socket的通信API

网络服务既可以使用REST原则实现,也可以使用Web Socket协议 –

基于REST的通信API

REpresentational State Transfer(REST)是一套架构原则,通过这套原则,可以设计网络服务和网络API,重点关注系统的资源以及资源状态如何被处理和传输。REST APIs遵循请求-响应的通信模型。REST架构约束适用于组件、连接器和数据元素,在一个分布式超媒体系统内。

基于Web Socket的通信API

Web Socket APIs允许客户端和服务器之间的双向、全双工通信。它遵循排他性的一对通信模型。这种通信API不需要为客户端和服务器之间发送的每个消息建立新的连接。一旦建立了连接,消息就可以不间断地发送和接收,不会出现任何中断。WebSocket API适用于具有低延迟或高吞吐量要求的物联网应用。

Rest API和Web Socket API之间的区别。

编号 静态应用程序接口 web套接字应用程序接口
1 Rest API是无状态协议。它不会存储数据。 web套接字是有状态协议。它将存储数据。
2 Rest API是单向的。只有服务器或客户端将进行通信。 web套接字是双向的。信息可以由服务器或客户端接收或发送。
3 Rest API是请求-回应模式。 web套接字应用程序接口是全双工模式。
4 HTTP请求包含标题,如头部部分,标题部分。 web套接字应用程序接口适用于实时应用。它没有任何开销。
5 每个HTTP请求都会建立新的TCP连接。 web套接字应用程序接口只有单个TCP连接。
6 水平和垂直扩展(我们可以在水平和垂直方向上增加许多资源和用户数量)。 只有垂直扩展(我们只能垂直添加资源)。
7 Rest API依赖于HTTP方法来检索数据。 web套接字应用程序接口取决于IP地址和端口号来检索数据。
8 在信息传输方面,它比web socket慢。 web socket传输信息的速度比REST API快。
9 Rest API不需要内存或缓冲区来存储数据。 web套接字需要内存和缓冲区来存储数据。