Это первое http-программирование, которое я сделал, и я самоучка, так что это может быть глупым вопросом ...
edit: В конечном итоге мой вопрос сводится к следующему: каков хороший способ получить доступ ко всему содержимому HttpResponse (т.е. заголовкам + сущности), но в мое приятное время? Т.е. скачать, а затем позволить клиентскому процессу.
Я создал метод, который помещает HTTP-запрос GET на сервер. Это все работает нормально, и я использую функцию HttpClient.execute () , чтобы отослать ее, и она возвращает объект HttpResponse с моим содержимым XML в теле сущности. Меня беспокоит то, что в официальном учебнике по Apache подчеркивается важность «потребления» содержимого объекта ответа, чтобы освободить соединение, используемое для передачи ответа. Почему бы не быть бесплатным? Означает ли это, что после execute вернул HttpResponse, но до того, как я с ним что-то сделал, клиент фактически не получил тело сущности, и только когда я явно обращаюсь к входному потоку, исходящему от него, мой клиент фактически получает тело, на какой-то связи, которая ждала меня, чтобы спросить?
Я использовал объекты BufferedHttpEntity для немедленной буферизации объекта ответа, чтобы убедиться, что у моего клиента нет проблем с тайм-аутом, и он не обрабатывает ответ достаточно быстро, но я не уверен, нужно ли это. Когда я должен использовать BufferedHttpEntity?