Заголовки для REST API с дополнительной кодировкой Base64 - PullRequest
0 голосов
/ 18 декабря 2018

У нас есть хранилище медиафайлов, с которым другие сервисы обмениваются данными через REST API.По разным причинам мы хотим, чтобы пользователи хранилища могли загружать и скачивать файлы по HTTP как напрямую (открытый текст для текстовых файлов, так и байтовый массив для двоичных файлов) и с использованием кодировки Base64.Мы хотим, чтобы тот факт, что файл загружен (PUT, POST) и запрошен для загрузки (GET) в кодировке Base64, отражен в заголовке HTTP-запроса.

Как мы отражаем тот факт,что содержимое запроса или запрошенного ответа закодировано в Base64 в заголовке HTTP?

До сих пор я склоняюсь к добавлению ;base64 после типа mime в заголовке Content-Type, напримерContent-Type: image/png;base64.Другие варианты (X- header, Content-Encoding) обсуждаются в этом связанном вопросе , но не дают удовлетворительного решения нашего вопроса.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Какой смысл?HTTP прекрасно способен передавать двоичный контент.

0 голосов
/ 18 декабря 2018

Вы должны использовать заголовок Content-Transfer-Encoding.

Он находится в RFC https://tools.ietf.org/html/rfc2045#page-14.

Поддерживает значение base64 среди других, например "7bit" / "8bit" / "binary" / "quoted-printable" / "base64" / ietf-token / x-token

Этот заголовок специально разработан дляваш случай, чтобы использовать в качестве дополнения для MIME типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...