NMEA 数据的 Content-Type 标头是否正确?

xOn*_*eca 5 nmea http http-headers mime-types

我想在 HTTP POST 正文中向我的服务器发送一堆 NMEA 句子,但我对Content-Type应该是什么感到困惑。

我没有找到 NMEA 的标准 IANA MIME 类型(除了 generic text/plain)。我应该使用自定义的(例如application/vnd.myvnd.nmea)还是有一个晦涩的事实上的标准?

Cra*_*ied 4

由于您引用的是文本,我认为 NMEA 是指基于文本的规范NMEA-0183,根据维基百科:

NMEA 0183 是一种组合电气和数据规范,用于海洋电子设备(例如回声测深仪、声纳、风速计、陀螺罗盘、自动驾驶仪、GPS 接收器和许多其他类型的仪器)之间的通信。它由国家海洋电子协会定义并控制。

或者源自较新的 NMEA 标准 NMEA-2000 的文本消息,NMEA-2000是一种基于二进制帧的协议,本质上是汽车网络中使用的CAN(控制器局域网)总线协议的配置文件。

官方 NMEA-0183 规范仅限于协议设计运行的 RS422 串行线路。数据编码指定为 ASCII,不使用高位。NMEA-0183 的主要公开参考来源是 Eric Raymond 的“NMEA REVEALED”

官方NMEA-2000标准采用CAN总线的设备互连规范。

有一个专有(不常见)标准用于通过 IP 网络移动 NMEA 数据,并且还有一组更常用于此目的的非专有协议。KPLEX(著名的 NMEA-0183 复用工具之一)的作者在一系列博客文章中记录了这些内容。特别有用的是题为“NMEA-0183 over IP:程序员不成文规则”的帖子。

Signal-K 是一个开源项目,它使用 IANA 标准网络协议封装 NMEA 和其他数据类型,使用 Json 对象以及非官方名称(例如signalk-tcp. SignalK 规范在这里

其他涉及 NMEA 数据的知名开源项目包括:

没有为 NMEA-0183、NMEA-2000 或 CAN 总线注册 IANA MIME 类型。我下载并搜索了链接项目的源代码,发现在任何引用的项目或链接中都没有定义与 NMEA 相关的 MIME 类型。

因此,我认为我们可以有信心地说,就 NMEA 数据而言,不存在一个晦涩难懂的事实上的标准Content-Type