mqtt协议基于tcp,轻量个毛线,相对于同样基于tcp的http协议没任何优势,协议也不如http简单。另外说http报文大的,这点确实是无可否认,但既然你都能跑tcp了,还在乎报文大一点,何况,你可以把 url制定的短一些,无用的http头尽量减少,一样可以大大减小报文长度。
coap协议基于udp,更适合物联网设备。
能够跑tcp协议栈的设备,绝大多数量情况下使用http足够,不能跑tcp协议栈的设备,可以考虑coap。
mqtt至少我10年前就看到这协议了,网上的火,完全就是被IBM吹起来的。