Каков наиболее эффективный способ кодирования двоичных данных через HTTP POST? - PullRequest
2 голосов
/ 23 декабря 2011

Я работаю над проектом, в котором я буду отправлять множество двоичных данных (несколько изображений в одном сообщении) через HTTP POST в интерфейс RESTful.

Я изучал альтернативы, такие как JSON, protobuff, thrift, но не нашел убедительного сравнения накладных расходов, представленных этими форматами. Какой из них вы бы предпочли использовать в этом случае?

1 Ответ

1 голос
/ 23 декабря 2011

Если вам действительно нужно сделать все это как часть единого HTTP POST, то я бы больше беспокоился о надежности и функциональности. Эффективность будет зависеть от того, что вы отправляете. Если это изображения в уже сжатом формате / контейнере, то весьма вероятно, что вы не увидите хорошей процентной разницы в эффективности, не жертвуя чем-то другим. Так что, на мой взгляд, вероятно, наиболее эффективной вещью, которую стоит рассмотреть, было бы использование MIME-кодирования вашего контента в POST, что означало бы кодирование двоичных файлов с использованием Base64. Используя это, вы получаете преимущество, заключающееся в том, что практически любая платформа разработки в наши дни либо будет иметь встроенную функциональность, либо будет легко доступна во внешних библиотеках для выполнения MIME / Base64. Придерживаясь таких часто используемых стандартов, можно легко поддерживать широкую базу пользователей. Некоторые ссылки для справки:

http://en.wikipedia.org/wiki/MIME

http://en.wikipedia.org/wiki/Base64

...