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

问题描述 投票:0回答:3

JSON以

application/json
为标准。对于 protobuf,有些人使用
application/x-protobuf
,但我看到一些像
application/vnd.google.protobuf
一样奇怪的提议。我们是否有 RFC 或其他一些标准可供我参考?

mime-types protocol-buffers content-type
3个回答
43
投票

有一个 过期的 IETF 提案 建议

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

实际上,您列出的类型似乎确实是在使用的类型,例如监控系统Prometheus使用

application/vnd.google.protobuf
Charles web调试代理识别
application/x-protobuf; messageType="x.y.Z"


0
投票

冒着过于迂腐的风险,只有当我们假设“protobuf 内容类型”意味着原型的标准有线格式时,其他答案才有意义。

内容类型应该映射到编码方案,原型有多种编码方案。有线格式是最常见和最重要的格式,但还有文本格式,可能还有其他格式。话虽这么说,我找不到任何标准文本格式的标准内容类型,所以我不知道可以在此处添加任何其他选项。

Protos 只是描述模式的一种方式,并不与该模式中任何特定的数据编码方式紧密耦合。


0
投票

Content-Type 表示头用于指示资源的原始媒体类型(在应用任何内容编码发送之前)。同时,protobuf 是序列化/反序列化模式/库。

© www.soinside.com 2019 - 2024. All rights reserved.