用途
设备通过 HTTPS 调用云平台 REST API 上报 JSON 数据,易与 Web 技术栈集成。间歇上报场景可每次短连接,避免维持 TCP;高频场景可评估 HTTP/2 或改用 MQTT。TLS 证书链与时钟同步是常见故障点。
优化
合并上报、压缩载荷、使用会话复用可降低流量。弱网下设置合理超时与重试退避。
安全
OAuth2、设备证书与双向 TLS 常用于身份;防重放需 nonce 与时间戳。
蜂窝场景下的 API 设计
REST 在物联网中常面临「请求多、头部大、TLS 握手贵」的问题。可通过合并上报、二进制协议(如 CBOR)或 gRPC 网关减轻,但需与现有云平台兼容。幂等键应放在 Header 或路径中,避免 PATCH 语义歧义。分页与游标应稳定,防止弱网重试导致重复拉取。CDN 与边缘缓存对设备 API 通常不适用,需注意源站限流与地域路由。
观测与版本治理
应对每个设备类型记录 HTTP 状态码分布、首字节时延与 TLS 握手失败原因,区分证书问题与运营商劫持。API 版本升级要保留旧版本窗口期,并在模组 OTA 中同步升级。错误体应包含可机器解析的错误码与建议重试间隔,减少客服与现场排障成本。
工程实践补充
针对「HTTP/REST」的跨团队协同:硬件提供阻抗与电源预算,射频提供杂散与灵敏度余量,嵌入式明确线程模型与存储寿命,云端明确 SLA 与限流。对 NB-IoT 等场景,业务模型需与唤醒周期、包长与下行容量匹配;对车载与移动场景,需考虑切换与漫游时的会话保持。项目收尾做一次「红队」式复盘:弱网、掉电、证书过期、时钟跳变与存储写满是否都有定义行为。