首页/协议速查/HTTP(S)
🌍

HTTP(S) 请求响应

网络协议
云API的标准语言:RESTful JSON 上报/下发/OTA,设备对接云端主力。
🧩 核心原理
📈 时序 / 工作过程图
HTTP 请求-响应模型无状态:每次请求独立,需带认证信息(Token/Cookie)客户端浏览器/App服务器云端APIGET /api/data HTTP/1.1Host / AuthorizationHTTP/1.1 200 OK {json}HTTPS = HTTP + TLS(证书校验 + 加密)· 状态码:2xx成功 3xx重定向 4xx客户端错 5xx服务端错嵌入式常用:JSON over HTTPS 上报数据 / OTA 下载固件
⚙️ 配置 / 使用要点
  1. URL 编码 + JSON 序列化
  2. Header:Content-Type: application/json
  3. 认证:Bearer Token / API Key
  4. 超时与重试:连接超时+读超时+指数退避
  5. HTTPS:根证书校验(勿全局关闭验证)
🛠️ 项目示例
设备上报 JSON 数据(cURL 等价代码)
// POST https://api.xxx.com/v1/devices/001/data
// Header: Authorization: Bearer <token>
// Body: {"temp":26.5,"humi":60.2}
char body[96];
snprintf(body, sizeof(body),
  "{"temp":%.1f,"humi":%.1f}", temp, humi);

http_client_req_t req = {
  .method = POST, .url = "/v1/devices/001/data",
  .host = "api.xxx.com", .port = 443,
  .auth = "Bearer eyJhbGci...",
  .body = body, .body_len = strlen(body)
};
int code = http_client_send(&req);   // 期望 200/201
❓ 面试高频
REST接口设计常用哪些方法?
GET读、POST创建/动作、PUT整体更新、PATCH局部更新、DELETE删除;设备上报常用POST
HTTPS为什么安全?
TLS握手:证书链验证服务器身份+协商对称密钥加密,防窃听篡改伪装
设备端HTTP要处理哪些异常?
超时(连接/读)、4xx/5xx重试策略、Token过期刷新、网络切换重连
✅ 自查清单 (点击勾选,本地保存)
0/0
知道请求方法与状态码
知道HTTP vs HTTPS
会拼JSON与认证头
知道超时重试
知道长连接