|
|
HTTP协议是Web联网的基础,也是应用最为广泛和流行的协议,HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。
9 e- F: E0 k" X+ N V# C: K
5 ^5 `. t B5 Z6 s2 t9 XMQTT是一种基于发布/订阅模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。7 l2 ]1 K; b% f# e" I4 {
5 p# O3 k) \ m- ~, y( e; U
作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
* _! J ]3 G& B- ~- \5 y2 A! w- I" E; G3 U! j
根据3G网络的测量结果,MQTT的吞吐量比HTTP快93倍。此外,与HTTP相比,MQTT协议确保了高传输。1 S! o; Q4 U# c) P+ C6 S2 S
( I( \/ D5 @' iMQTT协议有3个级别的服务质量:& Q( t6 ^5 [" U# a
, g9 W, e5 Y& g: |' Q+ ^4 x% [9 f6 Z
1、最多一次:保证尽力交付。 J5 ^2 J1 w% q* r# p
$ b0 \8 V# e; {2 b2、至少一次:保证消息至少传送一次,但是消息也可以不止一次传递。
3 b6 q% V: H; |. w7 K
( Q, d8 c& V( s0 ?3、恰好一次:保证每个消息只被对方接收一次
. n0 r" E' D; S# A0 ~
) [ c7 d- c; J/ S0 U# U因为HTTP协议的首部(header)比较大,而且每次发送数据都要发送一个数据包来连接/断开TCP,因此发送的数据越多,数据总通信量也就越大;* p0 Y% W1 ?* K7 L# x
* x0 U8 y C: z" T2 Y- k2 G而MQTT 的首部比较小,还能在维持TCP连接的同时,进行下一次数据的收发,所以比起HTTP,它更能抑制数据总通信量。% u" m4 Y- y& X: P2 @. g% }
+ D$ w, }* n2 _9 D
所以综上看来,你认为HTTP协议和MQTT协议,那个协议会更好一些? |
|