Будет ли работать просто отправка данных в кодировке base64?
Нет необходимости использовать кодировку base 64 - это просто увеличит количество байтов, которые вы должны передать. Мобильные операторы обычно ограничивают искажение ответов на типы контента, которые они понимают, т.е. изображения, таблицы стилей и т. Д.
Как обрабатываются сеансы HTTP?
Сеансы HTTP обычно обрабатываются либо через параметр запроса URL, либо через значение cookie. Однако из того, что вы сказали, не похоже, что сеансы необходимы.
Произвольные сокеты можно поддерживать в течение долгого времени, но HTTP-глаголы обычно недолговечны. Означает ли это, что мне нужно будет создать новое соединение для каждого пакета данных?
HTTP-запросы могут длиться сколь угодно долго, так же как и для необработанных TCP-сокетов. Запрос GET может длиться часами, если это необходимо. Вам не нужно создавать новое соединение для каждого запроса & mdash; взгляните на HTTP-заголовок Connection: Keep-Alive
.
Или есть способ отправить серверные ответы по частям по одному соединению?
Если вы не знаете длину ответа, вы можете либо опустить заголовок Content-Length, либо, предпочтительно, использовать заголовок Transfer-Encoding: chunked
HTTP.
Каким образом прокси-провайдер может связываться с данными или заголовками? Например, прокси-сервер может иногда поддерживать соединение, даже если сервер закрывает его.
Интернет-провайдеры не склонны сообщать об изменениях, которые они вносят в ответы HTTP. Если вы обеспокоены этим, то простым решением было бы зашифровать данные и указать заголовок HTTP Content-Encoding
. Это потребует от вас управления как клиентом, так и сервером HTTP.