Я провел последние дни, работая над этим, поэтому просто хочу поделиться с вами «всеми известными» знаниями.
Во-первых, поскольку вы имеете дело с одним и тем же сервером, для выполнения ваших запросов рекомендуется использовать один HTTP-клиент. С помощью PoolingHttpClientConnectionManager
ваш клиент может использоваться для одновременного выполнения нескольких запросов. Официальный пример выполнения многопоточного запроса можно найти here.
Во-вторых, HTTP/1.1 (и расширенные версии HTTP/1.0) позволяет HTTP-клиентам поддерживать открытые соединения после завершения транзакций, чтобы их можно было повторно использовать для будущих запросов. Это часто называют Постоянное соединение.
Также для повторного использования клиента для нескольких запросов заголовок ответа с сервера часто включает в себя вызов атрибута Keep-Alive
, который содержит текущее время, которое будет поддерживаться в текущий момент.Кроме того, Apache Http Client также предоставляет вам интерфейс ConnectionKeepAliveStrategy
, чтобы настроить собственную политику для повторного использования соединения.
О чем вы говорите? Добавьте некоторые важные детали, например, язык программирования. Я знаю, что HttpClient написан на Java, Ruby и PHP по крайней мере. – chx
Я добавил информацию о языке и пакете – John