HTML与MQTT

一、HTTP详细解析

HTTP(Hypertext Transfer Protocol)是一个基于请求-响应模式的应用层协议,主要用于浏览器和服务器之间传输网页、接口数据等信息。

在 HTTP 模型中,客户端(比如浏览器)主动向服务器发送请求,服务器接收后处理并返回响应,流程非常直接。比如,当我们在浏览器地址栏输入网址并回车时,就是一次 HTTP 请求,服务器会返回网页代码,浏览器渲染后展示给我们看。

HTTP 的特点是无状态(每次请求相互独立),但可以通过 Cookie、Session 等方式维护会话信息。

它支持多种请求方法(如 GET、POST、PUT、DELETE 等),也有一套完善的状态码(比如 200 表示成功,404 表示未找到,500 表示服务器错误等),以及丰富的请求头和响应头,帮助控制缓存、身份认证、内容协商等。

在性能上,HTTP/1.1 支持「长连接(Keep-Alive)」,多个请求可以复用同一条 TCP 连接;HTTP/2 和 HTTP/3 则引入了多路复用、头部压缩等机制,大幅提高了传输效率。

常见请求方法(HTTP Methods)

方法

作用

典型场景

GET

获取资源,不应有副作用

请求网页、获取数据

POST

提交资源,可能改变服务器状态

表单提交、登录接口

PUT

更新资源(幂等)

更新用户信息、修改配置

DELETE

删除资源(幂等)

删除用户、删除文件

PATCH

对资源进行部分修改(非幂等)

更新部分字段

HEAD

与 GET 类似,但只返回头部

检测资源是否存在

OPTIONS

查询支持哪些方法,或做预检请求

CORS 预检请求

幂等:多次请求结果一样(GET、PUT、DELETE);
非幂等:多次请求结果可能不一样(POST、PATCH)。

常见状态码(Status Codes)

类别

范围

描述

示例

1xx

100–199

信息性

100 Continue(继续)

2xx

200–299

成功

200 OK、201 Created

3xx

300–399

重定向

301 Moved Permanently、302 Found

4xx

400–499

客户端错误

400 Bad Request、401 Unauthorized、404 Not Found

5xx

500–599

服务器错误

500 Internal Server Error、502 Bad Gateway

HTTP 头部(Headers)

  • Host:请求的主机名
  • Content-Type:请求体的数据格式(如 application/json, text/html
  • Authorization:携带认证信息
  • Cookie:客户端存储的状态信息
  • Set-Cookie:服务器返回设置 Cookie
  • Cache-Control:缓存控制策略
  • User-Agent:客户端信息(浏览器、系统)
  • Accept:客户端可接受的内容类型(内容协商)
  • Range:请求部分内容(用于断点续传)

持久连接(Keep-Alive)

  • HTTP/1.0 默认短连接,HTTP/1.1 开始默认开启 持久连接(Keep-Alive),可以复用同一 TCP 连接处理多个请求,减少建立连接开销。

缓存机制

  • 强缓存:ExpiresCache-Control: max-age
  • 协商缓存:Last-Modified + If-Modified-SinceETag + If-None-Match
  • 可以减少资源重复下载,提高访问效率。

内容协商

  • 根据 AcceptAccept-EncodingAccept-Language 等头部,服务器可以返回不同版本的内容(比如中英文版本、不同压缩格式)。

HTTPS(HTTP Secure)

  • HTTP + TLS/SSL,保障数据加密传输、安全认证、防篡改。】

二、MQTT详细解析

MQTT(Message Queuing Telemetry Transport)是一种基于发布-订阅模式的轻量级消息传输协议,最早专门为物联网(IoT)设计,适用于低带宽、低功耗、不稳定网络环境(比如传感器、智能家居、工业设备)。

在 MQTT 中,客户端不会直接互相通信,而是通过一个中间服务器(Broker)进行消息转发

  • 发布者将消息发送到某个「主题(Topic)」
  • 订阅者订阅这个主题,Broker 接收到消息后会主动把消息推送给订阅者

这种模型相比 HTTP 的请求-响应方式,更适合需要实时推送消息的场景,比如智能门锁状态更新、传感器实时告警等。

MQTT 特别强调轻量:消息头部极小,只需几字节,就能显著降低网络流量;同时,它提供多种消息质量保障(QoS):

  • QoS 0:最多一次,可能丢失
  • QoS 1:至少一次,可能重复
  • QoS 2:确保只有一次,可靠但更慢

此外,MQTT 还支持「遗嘱消息」(客户端异常下线自动发送)、「保留消息」(保存最后一条主题消息给新订阅者)等机制,增强系统的可靠性和灵活性。

核心概念

概念

作用

Broker

消息中转服务器

Client

发布者或订阅者

Topic

消息主题,类似路由

Message

具体传输的消息内容

三、HTTP vs MQTT 更深入对比

对比项

HTTP

MQTT

传输模型

请求-响应

发布-订阅

连接方式

短连接为主,可 Keep-Alive

长连接

推送能力

需要轮询或 HTTP/2 推送

Broker 主动推送

实时性

一般

非常高,适合毫秒级通知

带宽占用

相对大(完整报文)

极小(几字节头部)

消息确认

没有内置确认机制(需要应用层做)

QoS 支持多级确认

适用场景

Web 服务、API 调用、网页请求

IoT 设备、消息推送、传感器网络

协议规范

RFC 2616/7540/9114

OASIS MQTT v3.1.1/v5.0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值