• 02-STM32+Air724UG远程升级篇OTA(自建物联网平台)-什么是http,怎么通过http下载文件数据


    <p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ZLAir724UGA/myota.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

    说明

    什么是http?http的实质是什么?

    大家都在说GET指令,POST指令.这又是什么?

    其实没什么!继续看!


    搭建好web服务器(Windows)

    1.按照基本控制篇以下两节搭建好web服务器;

    注意:如果只是做远程升级不需要安装mqtt软件,主需要购买云主机,然后安装上Nginx

    当然安装tomcat也可以

     


    2.网站根目录

    3.网站根目录就是在浏览器上输入网站IP地址或者域名后默认访问的地址

    http://mnif.cn   默认访问以上目录里面的 index.html 文件




    4.指定访问
    http://mnif.cn/1.txt






    5.访问其他文件夹里面的文件
    http://mnif.cn/文件夹/具体文件


    搭建好web服务器(Linux)


    1.首先完成这节

    注意:如果只需要远程升级,不需要安装mqtt软件

     


    2.如果用户没有在基本控制篇配置站点,请按照下面的方式添加站点(网站)
    如果添加了站点(网站),这节无需再次添加!



    2.点击进入网站根目录



    3.网站根目录

    4.所谓网站根目录就是在浏览器上输入网站IP地址或者域名以后默认访问的位置


    http://47.111.116.198   默认访问以上目录里面的 index.html 文件






    4.指定访问
    http://47.111.116.198/1.txt





    5.访问其他文件夹里面的文件
    http://47.111.116.198/文件夹/具体文件


    更近一步


    1.大家需要明白:
    http是在TCP的基础上封装了一套协议而已!
    web服务器实质上就是一个TCP服务器!

    2.看一下如何用TCP调试助手下载1.txt文件
    打开调试助手



    ①:
    mnif.cn:服务器的IP地址
    80:网站的http访问默认是80端口
    点击启用
    以上就用TCP连接上了 web服务器

    ②: 填写发送的信息

    GET /1.txt HTTP/1.1
    Host: mnif.cn



    注意: 以上就是发送了HTTP的GET协议,获取根目录下的1.txt文件里面的内容.协议解释如下:

    GET 空格 /文件路径 空格 HTTP/1.1
    Host:空格 IP/域名
    换行
    换行

    服务器返回数据说明

    1. HTTP/1.1 200 OK
    2. Server: openresty/1.15.8.2
    3. Date: Mon, 29 Jun 2020 09:19:36 GMT
    4. Content-Type: text/plain
    5. Content-Length: 10
    6. Last-Modified: Wed, 09 Oct 2019 04:01:46 GMT
    7. Connection: keep-alive
    8. ETag: "5d9d5baa-a"
    9. Accept-Ranges: bytes
    10. 1234567890



    Accept-Ranges: bytes  及其以上信息我们称之为:http的head
    然后一个换行
    真实数据




    在后面的章节中,STM32控制网络模块以TCP的方式连接上web服务器,
    然后发送get协议获取程序文件,实现远程升级.

  • 相关阅读:
    How to bind to data when the DataContext is not inherited【项目】
    访问ControlTemplate内部的元素
    TemplateBinding vs TemplatedParent【PluraSight】
    UserControl和CustomControl基础【PluraSight】
    如何让label和textblock分成两行
    Labeled ContentControl & LabeledControl【项目】
    Label & TextBlock
    How to use SourceGear DiffMerge in SourceSafe, TFS, and SVN【项目】
    转载 使用WiX Toolset创建.NET程序发布Bootstrapper(安装策略管理)(一&二)——初识WiX
    Unity中的C#规则
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/14620098.html
Copyright © 2020-2023  润新知