HTTP-запросы могут быть довольно маленькими. Как указывает хаос в своем ответе, вам не нужно отправлять много заголовков с запросом. Единственный заголовок, который необходим, - это Host. Я могу немного упростить пример хаоса, используя HTTP 1.0, в котором нет постоянных соединений.
GET / HTTP/1.0
Host: example.com
(blank line is necessary)
Ответ может быть таким же простым
HTTP/1.0 200 OK
Content-Type: text/html
data content
В этом случае издержки HTTP составляют около 40 байтов в запросе и ответе. Стандартный пакет TCP имеет размер 1500 байт, поэтому в ответном пакете достаточно места для фактических данных.
Есть и другие заголовки HTTP, и они имеют значение. Вы можете включить информацию кеша и сделать условные GET. Вы можете использовать постоянный сокет HTTP / 1.1 для ускорения последующих запросов. И т. Д., И т. П. Вам не нужно использовать ничего из этого, если вы не хотите, но одна хорошая вещь в HTTP - это стандартный способ создания более сложных протоколов, когда вам это нужно.
Что касается выполнения минимального HTTP в JavaME, если вы действительно заботитесь о каждом байте, вам лучше всего написать свой собственный простой HTTP-клиент, работая с обычным сокетом TCP . Если вы разговариваете с известным сервером, вам вообще не нужно ничего реализовывать. (Если вы говорите с произвольными серверами, вам нужно уделять больше внимания обработке ошибок, перенаправлениям и т. Д.).