stm32 esp8266 ota升级-tcp模拟http

stm32 esp8266 ota系列文章:
stm32 esp8266 ota-快速搭建web服务器之docker安装openresty
stm32 esp8266 ota升级-tcp模拟http
stm32 esp8266 ota升级-hex合并-烧录-bin生成
stm32 esp8266 ota升级-qt bin文件处理工具
stm32 esp8266 ota升级-自建mqtt和文件服务器动态AB面方式
stm32 esp8266 ota升级-自建mqtt和文件服务器全量升级

stm32 esp8266 ota升级-tcp模拟http

本文仅介绍tcp客户端模拟http,发送GET请求,为ota升级做理论基础。无有具体OTA代码讲解!!!

http简介

HTTP是超文本传输协议的英文缩写,是基于TCP/IP通讯协议之上用来传输HTML和图片文件的应用协议,原本是用来从万维网服务器传输超文本到本地浏览器。

HTTP协议主要工作于B-S架构之上,浏览器作为HTTP的客户端通过URL向HTTP的服务器(web服务器)发送所有请求,web服务器根据接收到的请求后,向客户端发送响应信息。

HTTP常用的请求方法为GET和POST方法,每种方法规定了客户端与服务器通讯方式和数据报文。

http 格式

请参考https://blog.csdn.net/weixin_51351637/article/details/126218456 博文,博主讲解很透彻;

tcp模拟http

tcp需要发送什么内容数据来模拟http呢?

带着疑问,首先打开浏览器,按住键盘F12调出debug 窗口,然后在浏览器中地址栏输入http://alyou.langtaotech.cn:51802/1.txt 回车

说明: http://alyou.langtaotech.cn:51802 是笔者事先搭建好的文件服务器,关于文件服务器怎么搭建不是本文重点。如需了解,请参考相关博文。

image-20221223172319745

可以看到页面中显示hello,you ,而且debug窗口 红色大框中,GET请求,状态200 OK,绿色小框中也有了请求头 数据;那tcp模拟时,发送这些请求头数据是不是就可以了呢。

模拟测试

说明:涉及到的通信猫v307,可以百度自行下载,也可以在这里下载:https://download.csdn.net/download/a554521655/87337741

打开通信猫软件,按照下图,选择 TCP客户端 ,
然后填入 服务器ip或域名,端口,勾选启用,这时服务器会连接;
填入上边从浏览器拷贝的请求头
GET /1.txt HTTP/1.1
Host: alyou.langtaotech.cn:51802
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,/;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
之后点击发送

image-20221223165721541image-20221223165144293

其实对于GET或POST请求,不用填写全部的请求头,只需要填写

GET /1.txt HTTP/1.1
Host: alyou.langtaotech.cn:51802

测试如下
image-20221223155742643

分包下载

对于文件很小,可以一次性获取。但对于嵌入式设备,一次接收不了那么多字节数据,那有没有分包获取呢?答案是有的,咱们可以通过

请求头中Range字段实现。测试如下

image-20221223160434824

总结

有了上边的认知,stm32代码中就可以进行分包下载啦

image-20221223160631473

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心之雅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值