Http 将数据从设备发送到服务器的最佳方法是什么

Http 将数据从设备发送到服务器的最佳方法是什么,http,post,csv,device,Http,Post,Csv,Device,我目前正在为一家能源监测公司开发一个网站。我们正试图从记录数据的设备向服务器发送大量数据,以便在数据库中处理这些数据。开发固件的家伙似乎认为发送数据的最佳方式是生成CSV文件并通过FTP发送。服务器上的程序需要监视通过FTP接收的文件,并运行PHP脚本来处理这些文件。一、 但是,我觉得发送数据的最佳方式是通过HTTPPOST 我们进行了HTTP POST工作,然后我开始尝试与CSV合作,这变得很痛苦,因为可靠地监视通过FTP接收的文件意味着编辑ProFTPD配置文件(我发现这几乎是不可能的任务)

我目前正在为一家能源监测公司开发一个网站。我们正试图从记录数据的设备向服务器发送大量数据,以便在数据库中处理这些数据。开发固件的家伙似乎认为发送数据的最佳方式是生成CSV文件并通过FTP发送。服务器上的程序需要监视通过FTP接收的文件,并运行PHP脚本来处理这些文件。一、 但是,我觉得发送数据的最佳方式是通过HTTPPOST

我们进行了HTTP POST工作,然后我开始尝试与CSV合作,这变得很痛苦,因为可靠地监视通过FTP接收的文件意味着编辑ProFTPD配置文件(我发现这几乎是不可能的任务),并安装一个名为mod_exec的包(有安全风险),以便ProFTPD可以运行PHP脚本。这些问题以及我不熟悉linux控制台这一事实使得CSV方法的设置非常困难,我需要广泛使用linux控制台来设置CSV。httppost对我来说似乎是一种更直接的发送数据的方式,而不必担心文件或依赖ProFTPD。它还允许我们使用标识符来赋予正在传递的数据含义,而不是一组含义不明显的值。此外,可以对查询字符串进行URL编码,以传递多维数组,该数组在给定所传递数据类型的情况下运行良好

然而,仅仅因为HTTPPOST方法更容易,并不意味着CSV方法没有优势。此外,固件的家伙在计算机方面比我有更多的经验,所以我相信他的意见


你能帮我理解他对CSV方法优点的观点,并解释什么是最好的方法吗?

你说得对。FTP在防火墙方面存在重大问题,尤其是在移动(NAT'ted)IPv4上无法正常工作。HTTP POST在这种情况下工作得非常好,如果只是因为没有人接受破坏HTTP的“internet”连接的话

此外,HTTP在设备上也容易得多。它只是一个单一的套接字协议,在该套接字上具有简单的读/写语义

还有什么好处?HTTP几乎具有对压缩的本机支持(gzip)。HTTP传输可以在输入完成之前开始。HTTP更容易保护(HTTPS)

不,没有什么理由使用FTP。

CSV方法(我称之为“FTP方法”)的优点是嵌入式开发人员都知道。但是,接收方必须创建某种方法来检查是否存在文件。这增加了复杂性

“HTTP方法”有几个优点:

  • HTTP很容易在发送端实现
  • 无需创建文件检查器
  • 如果一切正常,您可以回复嵌入式设备

实际上,我只是实现了一个这样的系统(没有太多数据,但仍然),并使用HTTPPOST发送数据。我自己实现了HTTP POST。

谢谢,您是否可以提供任何来源,以便我可以备份您所说的一些内容?我特别指的是FTP与防火墙之间存在问题。此外,没有人接受破坏HTTP的“internet”连接(我不完全确定你的意思)@Josh'Bambi'Bambrick:有关FTP套接字,请参阅例如。至于HTTP,任何客户都不会接受阻止端口80的ISP防火墙,即使是在移动网络上。但是FTP的入站端口经常被阻止。@MSalters当使用HTTP POST时,使用拆分器或json发送数据字符串是否更好?为什么?@jocelynelkhoury:请问一个新问题,这些评论是为了澄清我对这个问题的回答。时期除非和你一起工作的人不具备正确实施的知识。如果是这样的话,你可能已经有麻烦了:)谢谢,这很方便。我想我们现在将使用HTTP方法