Насколько мне известно, можно передавать бинарные файлы по протоколу HTTP. Но HTTP — это текстовый протокол, типичный фрейм ответа HTTP выглядит следующим образом:
HTTP/1.1 200 OK
Date: Wed, 23 May 2012 22:38:34 GMT
Content-Length: 438
Content-Type: text/html; charset=UTF-8
Here goes content
Если да, то как должен быть закодирован бинарный файл в этом фрейме? Что такое Content-Type? Содержимое закодировано с помощью base64 — так же, как вложения в протоколе POP3? Или это сырые данные (можно ли не создавать проблем если так?)