Ho passato giornate recenti a lavorare su questo, quindi voglio solo condividere con voi alcune conoscenze "conosciute".
Innanzitutto, poiché si tratta dello stesso server, si consiglia di utilizzare un singolo client HTTP per eseguire le richieste. Con l'aiuto di PoolingHttpClientConnectionManager
, il tuo client può essere utilizzato per eseguire più richieste contemporaneamente. L'esempio ufficiale dell'esecuzione di richiesta multithread può essere trovato here.
In secondo luogo, HTTP/1.1 (e versioni avanzate di HTTP/1.0) consente ai client HTTP di mantenere aperte le connessioni dopo aver completato le transazioni in modo che possano essere riutilizzate per richieste future. Questo è spesso indicato come Connessione persistente.
Anche allo scopo di riutilizzare il client per più richieste, l'intestazione di risposta da un server include spesso una chiamata di attributo Keep-Alive
che contiene la connessione corrente che verrà mantenuta attiva.Oltre a ciò, Apache Http Client fornisce anche un'interfaccia ConnectionKeepAliveStrategy
per personalizzare la propria politica per il riutilizzo della connessione.
Di cosa stai parlando? Aggiungi alcuni dettagli importanti, ad esempio il linguaggio di programmazione. Sono a conoscenza di un HttpClient scritto in Java, Ruby e PHP almeno. – chx
Ho aggiunto la lingua e le informazioni sul pacchetto – John