|
|
HTTP协议是Web联网的基础,也是应用最为广泛和流行的协议,HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。: p( \5 A( d/ h+ B2 M
* H1 z5 Z% h# l5 B
MQTT是一种基于发布/订阅模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。
2 ?2 m0 O, F6 p M' o Z" w, h
. {0 j! B( f, p! y' U: ^% k" u% N作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。8 A8 _- j! p1 C& v5 O4 z
6 x! u6 q: u$ X: R根据3G网络的测量结果,MQTT的吞吐量比HTTP快93倍。此外,与HTTP相比,MQTT协议确保了高传输。
+ i. r! ]! U/ h4 P2 ~
3 Y4 }0 a8 n/ V( u. zMQTT协议有3个级别的服务质量:
& F: J! n7 E9 u" X' a$ E3 }* A. S$ q8 {% Q; Q9 y
1、最多一次:保证尽力交付。8 t+ D6 _4 E4 B+ y: G6 e0 y' j: ?
9 a. T, i3 {- f& x! i: G2、至少一次:保证消息至少传送一次,但是消息也可以不止一次传递。: T: I* S9 C/ m3 f
+ h" Y; W1 C8 t: b3、恰好一次:保证每个消息只被对方接收一次3 f9 \) g: j; r5 c
5 g6 @# K0 j) x1 S K
因为HTTP协议的首部(header)比较大,而且每次发送数据都要发送一个数据包来连接/断开TCP,因此发送的数据越多,数据总通信量也就越大;; U+ d1 _1 i- R2 T8 x* @
1 D' u* p7 s6 v8 V2 g而MQTT 的首部比较小,还能在维持TCP连接的同时,进行下一次数据的收发,所以比起HTTP,它更能抑制数据总通信量。
) A5 t4 v, G" w8 e% v( p p1 Y* u7 _# L* X2 k+ Z; `
所以综上看来,你认为HTTP协议和MQTT协议,那个协议会更好一些? |
|