什么是正确的Protobuf内容类型?


69

JSON已application/json作为标准。对于protobuf,有人使用application/x-protobuf,但是我看到的东西与application/vnd.google.protobuf建议的一样奇怪。我们是否有RFC或其他标准可以用作参考?


groups.google.com/forum/#!topic/protobuf/VAoJ-HtgpAI可能就是第一个来源。不,自讨论以来,我不知道有任何变化,也不:我不知道任何标准
马克·格雷夫

5
貌似ProtoRPC的切换到application/octet-streamgithub.com/google/protorpc/commit/...
马克Gravell

4
但是一个IEFT草稿tools.ietf.org/html/draft-rfernando-protocol-buffers-00建议application/protobuf:但是,这只是草稿,有点像它没去到现在已经过期
Marc Gravell

6
在大多数情况下,知道某些数据是protobuf并不是特别有用。如果您根本想知道类型,则想知道它是什么protobuf类型。因此,确实,protobuf的每个用户都需要自己的内容类型。
肯顿·瓦尔达

7
@KentonVarda知道数据是protobuf很有用,即使没有确定消息的性质。例如,在XML或JSON之间的内容协商中考虑内容类型的价值-即使如果您无法解释它们的内容,它们都没有用。对于两个以上的选择,它同样有用,例如XML或protobuf或JSON或LISP(或者是LISPON?)。:-)
Edward Brey

Answers:


30

有一个过期的IETF提案建议application/protobuf。它没有解决接收方如何确定特定消息类型的问题。先前的讨论建议使用参数来指定包和消息,例如application/protobuf; proto=org.some.Message

实际上,您列出的类型似乎确实是在使用的类型,例如Prometheus使用application/vnd.google.protobuf的监视系统,而Charles Web调试代理可以识别application/x-protobuf; messageType="x.y.Z"


protobuf RFC过期意味着什么?
eigenfield '20

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.