HTTP 协议深入解析

HTTP 是基于 TCP/IP 协议而建立 Web 基础协议,从 1989 年早期的简单 HTTP/0.9 单行协议开始,至 1996 年逐步扩展了状态码、协议头等特性发展到 HTTP/1.0,然后在 1997 年的 HTTP/1.1 增加了 TCP 连接复用、流水线支持、响应分块、缓存控制、内容协商等特性。2015 年 HTTP/2 协议正式标准化之后,传统 HTTP 的文本协议被二进制协议替代,让并行的请求在同 1 个 TCP 连接中处理,并移除了header中的重复数据,大幅提升通信效率。

在各类现代化 Web 服务器与开发框架群雄并起的年代,无论是 Python 的DjangoTornado,还是 Java 的Servlet或者是 Go 上的BeeGo,其本质上都是基于HTTP 协议的封装。因此了解 HTTP 相关协议规范能够提升 Web 开发的透明度,能够从协议角度理解 Web 报文的通信过程,而非仅仅从各类 Web 开发框架及其 API 封装的角度。

阅读更多

小议 MQTT 物联网传输协议

物联网IoTInternet of Things)通过各种网络以及传感器技术,按照约定的协议将无处不在设备联结起来,以进行信息的传输与控制交互,并实现智能化的信息感知与管理,进而构建出万物相联的智能化环境,将网络连接能力渗透进现实世界的方方面面。而伴随近年 5G 无线网的迅速商用,海量物联网设备的接入给传统 Web 通信协议带来了挑战,必须有针对性的采取一系列全新特性的通信协议,从而解决网络环境不可靠终端设备系统资源有限等关键问题。

MQTT(消息队列遥测传输,Message Queuing Telemetry Transport)协议最早是由 Andy Stanford ClarkArlen Nipper 于 1999 年创建,起初主要是解决卫星与原油管道监测数据的传输问题,拥有最低的电池损耗与最小的带宽占用。后来在 OASIS 标准化组织的推动下于 2014 年 10 月公布了 V3.1.1 版本规范,并于 2019 年 3 月发布了最新的 V5.0 版本规范,目前 MQTT 已经成为物联网通信系统当中较为常用的一种传输协议。

阅读更多