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套接字需要内存和缓冲区来存储数据。 |