Apache HttpClient - Panoramica
Il protocollo HTTP (Hypertext Transfer Protocol) è un protocollo a livello di applicazione per sistemi informativi distribuiti, collaborativi e ipermediali. Questa è la base per la comunicazione di dati per il World Wide Web (cioè Internet) dal 1990. HTTP è un protocollo generico e senza stato che può essere utilizzato anche per altri scopi utilizzando estensioni dei suoi metodi di richiesta, codici di errore e intestazioni.
Fondamentalmente, HTTP è un protocollo di comunicazione basato su TCP / IP, utilizzato per fornire dati (file HTML, file immagine, risultati di query, ecc.) Sul World Wide Web. La porta predefinita è TCP 80, ma è possibile utilizzare anche altre porte. Fornisce un modo standardizzato per i computer di comunicare tra loro. La specifica HTTP definisce il modo in cui i dati delle richieste dei client verranno costruiti e inviati al server e come i server rispondono a queste richieste.
Cos'è Http Client
Il client HTTP è una libreria di trasferimento, risiede sul lato client, invia e riceve messaggi HTTP. Fornisce un'implementazione aggiornata, ricca di funzionalità ed efficiente che soddisfa i recenti standard HTTP.
Oltre a ciò utilizzando la libreria client, è possibile creare applicazioni basate su HTTP come browser Web, client di servizi Web, ecc.
Caratteristiche di Http Client
Di seguito sono riportate le caratteristiche principali del client Http:
La libreria HttpClient implementa tutti i metodi HTTP disponibili.
La libreria HttpClient fornisce API per proteggere le richieste utilizzando il protocollo Secure Socket Layer.
Utilizzando HttpClient, è possibile stabilire connessioni utilizzando proxy.
È possibile autenticare le connessioni utilizzando schemi di autenticazione come Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session ecc.
La libreria HttpClient supporta l'invio di richieste tramite più thread. Gestisce più connessioni stabilite da vari thread utilizzandoClientConnectionPoolManager.
Utilizzando la libreria Apache HttpClient, è possibile impostare i timeout di connessione.