Подтвердить что ты не робот

Каков правильный тип контента Protobuf?

JSON имеет application/json в качестве стандарта. Для protobuf некоторые люди используют application/x-protobuf, но я видел что-то нечетное как application/vnd.google.protobuf. У нас есть RFC или какой-то другой стандарт, который я могу использовать в качестве ссылки для этого?

4b9b3361

Ответ 1

Действительно, это будет зависеть от того, как вы отправляете полезную нагрузку в ответе HTTP.

Например, если вы отправляете байты протокола в качестве двоичных данных, то правильным типом содержимого будет "application/octet-stream".

Все, что префикс "x" как x-protobuf, не является стандартом.

Ответ 2

Там истек срок действия предложения IETF, который предлагает application/protobuf. В нем не рассматривается вопрос о том, как принимающая сторона может определить конкретный тип сообщения. Предыдущие обсуждения предлагались с использованием параметра для указания пакета и сообщения, например. application/protobuf; proto=org.some.Message

На практике типы, которые вы указали, действительно являются теми, которые используются, например, система мониторинга Prometheus использует application/vnd.google.protobuf, и Проводник веб-отладки Charles распознает application/x-protobuf; messageType="x.y.Z".