application/json
为标准。对于 protobuf,有些人使用 application/x-protobuf
,但我看到一些像 application/vnd.google.protobuf
一样奇怪的提议。我们是否有 RFC 或其他一些标准可供我参考?
有一个 过期的 IETF 提案 建议
application/protobuf
。它没有解决接收方如何确定特定消息类型的问题。之前的讨论建议使用参数来指定包和消息,例如application/protobuf; proto=org.some.Message
实际上,您列出的类型似乎确实是在使用的类型,例如监控系统Prometheus使用
application/vnd.google.protobuf
,Charles web调试代理识别application/x-protobuf; messageType="x.y.Z"
。
冒着过于迂腐的风险,只有当我们假设“protobuf 内容类型”意味着原型的标准有线格式时,其他答案才有意义。
内容类型应该映射到编码方案,原型有多种编码方案。有线格式是最常见和最重要的格式,但还有文本格式,可能还有其他格式。话虽这么说,我找不到任何标准文本格式的标准内容类型,所以我不知道可以在此处添加任何其他选项。
Protos 只是描述模式的一种方式,并不与该模式中任何特定的数据编码方式紧密耦合。
Content-Type 表示头用于指示资源的原始媒体类型(在应用任何内容编码发送之前)。同时,protobuf 是序列化/反序列化模式/库。