|
|
HTTP协议是Web联网的基础,也是应用最为广泛和流行的协议,HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。4 ^8 m$ m7 `9 J2 Z2 f- N3 f% I2 J
& L i% B/ |- K% \MQTT是一种基于发布/订阅模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。
, M! f* k* A, w y1 L' I% O
! L c& u* T& t, w, _$ a) T+ y作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。& r* E1 F+ |' j1 ~2 n! a
% Y0 _- O. E" W6 |9 o3 Y5 @7 a根据3G网络的测量结果,MQTT的吞吐量比HTTP快93倍。此外,与HTTP相比,MQTT协议确保了高传输。
% [% G N! _7 G7 h$ q& b; M
* L, c1 i3 g- AMQTT协议有3个级别的服务质量:$ R9 }/ j/ m0 n& ?* h8 \) P% f |1 `
4 \, e6 a7 }9 ~ e* e: G4 k/ R1、最多一次:保证尽力交付。$ {* A" I( m' K# }- ]$ j( M8 c: ?! k/ F
7 l5 y0 a* j! l) ]8 Y7 D6 b( l4 N- q
2、至少一次:保证消息至少传送一次,但是消息也可以不止一次传递。! B3 k- p. Q3 x5 U- e# O% p1 f. A
( r! ~0 b% u1 V, s* S1 l
3、恰好一次:保证每个消息只被对方接收一次
[9 ]6 w' H# {! D1 s; ?
# z! Q2 H! `% F) n; ~因为HTTP协议的首部(header)比较大,而且每次发送数据都要发送一个数据包来连接/断开TCP,因此发送的数据越多,数据总通信量也就越大;
- \8 H- s Y9 y6 u3 M/ A$ N: m( ?8 ]# \/ Y! w: `! U1 z5 M3 ]
而MQTT 的首部比较小,还能在维持TCP连接的同时,进行下一次数据的收发,所以比起HTTP,它更能抑制数据总通信量。
3 R, B$ G# y% l7 J# i" W; @3 B" H" } o) v$ W
所以综上看来,你认为HTTP协议和MQTT协议,那个协议会更好一些? |
|