|
HTTP协议是Web联网的基础,也是应用最为广泛和流行的协议,HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。6 e& w% H0 N3 x# [
$ U: z0 B! b& x- K- F& Z0 rMQTT是一种基于发布/订阅模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。
7 |! m' \( P0 x+ t6 f) ]) s( n2 ?( z1 s. b' {7 P0 D) a/ [
作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。* K7 G! c1 L9 U5 S; I7 X& B
4 i0 d, R. ?5 _根据3G网络的测量结果,MQTT的吞吐量比HTTP快93倍。此外,与HTTP相比,MQTT协议确保了高传输。- J) l: Z$ B" z2 W- }& |
* V$ g4 H9 g( |1 m4 eMQTT协议有3个级别的服务质量:
. n- |$ L b% ]4 x! k
8 }6 F) n8 l, F8 W5 u4 @& i% I1、最多一次:保证尽力交付。& E1 Z% T3 u4 e" Z
; D' t& B3 Q- W0 D4 I1 I/ `: A8 K2、至少一次:保证消息至少传送一次,但是消息也可以不止一次传递。: a6 r8 n3 c, ], {3 I* _6 q, ]+ A ~
8 I- ?8 W8 _. i! y8 j" E- ?3、恰好一次:保证每个消息只被对方接收一次
3 C A8 _. d) O( L6 m, h) r5 Q! i
6 ~& _! T0 v) T0 C8 d O# H+ o因为HTTP协议的首部(header)比较大,而且每次发送数据都要发送一个数据包来连接/断开TCP,因此发送的数据越多,数据总通信量也就越大;" ^' [% G% c- q$ q i& @) ]1 U
# h+ r2 ~3 ?+ g2 [) A
而MQTT 的首部比较小,还能在维持TCP连接的同时,进行下一次数据的收发,所以比起HTTP,它更能抑制数据总通信量。
0 x0 ]. B- `0 }+ r' ?' R2 K) b& I+ O9 I
所以综上看来,你认为HTTP协议和MQTT协议,那个协议会更好一些? |
|