我目前正在为能源监控公司开发一个网站。我们正在尝试从记录数据的设备发送大量数据到服务器,以便可以在数据库中处理它们。开发固件的人似乎认为发送数据的最佳方式是生成CSV文件并通过FTP发送。服务器上的程序需要监视通过FTP接收的文件并运行PHP脚本来处理它们。但是,我觉得发送数据的最佳方式是通过HTTP POST。
我们有HTTP POST工作,然后我开始尝试使用CSV,这变得很痛苦,因为可靠地监控通过FTP接收的文件意味着编辑ProFTPD配置文件(我发现这是一项几乎不可能完成的任务)并安装了名为mod_exec的软件包(带有安全风险),以便ProFTPD可以运行PHP脚本。这些问题以及我不熟悉linux控制台的事实,我需要广泛使用它来设置它,这使得CSV方法很难设置。 HTTP POST对我来说似乎是一种更直接的数据发送方式,无需担心文件或依赖ProFTPD。它还允许我们使用标识符来传递传递的数据,而不是意义不明显的一串值。此外,查询字符串可以进行URL编码,以传递多维数组,该数组在传递数据类型时也能正常工作。
然而,仅仅因为HTTP POST方法会更容易并不意味着CSV方法没有优势。此外,固件人员拥有比我更多的电脑经验,所以我相信他的意见。
您能否帮助我理解他对CSV方法优势的观点并解释最佳方法是什么?
答案 0 :(得分:1)
此外,HTTP在设备上也更容易。它只是一个单插槽协议,在该套接字上具有简单的读/写语义。
还有哪些好处? HTTP几乎支持压缩(gzip)。 HTTP传输可以在输入完成之前开始。 HTTP更容易保护(HTTPS)......
不,没有理由使用FTP。
答案 1 :(得分:1)
'CSV方法'(我称之为'FTP方法')具有嵌入式开发人员所知的优势。接收方必须创建一些方法来检查是否有文件。这增加了复杂性。
'HTTP方法'有几个优点:
我实际上只是实现了一个系统(不是太多的数据,但仍然)并使用HTTP POST发送数据。我自己实现了HTTP POST。