Apache HttpClient - Visão geral
O Protocolo de Transferência de Hipertexto (HTTP) é um protocolo de nível de aplicativo para sistemas de informação hipermídia distribuídos e colaborativos. Esta é a base para a comunicação de dados para a World Wide Web (ou seja, Internet) desde 1990. HTTP é um protocolo genérico e sem estado que pode ser usado para outros fins, bem como usando extensões de seus métodos de solicitação, códigos de erro e cabeçalhos.
Basicamente, o HTTP é um protocolo de comunicação baseado em TCP / IP, que é usado para entregar dados (arquivos HTML, arquivos de imagem, resultados de consultas, etc.) na World Wide Web. A porta padrão é TCP 80, mas outras portas também podem ser usadas. Ele fornece uma maneira padronizada para os computadores se comunicarem entre si. A especificação HTTP define como os dados de solicitação dos clientes serão construídos e enviados ao servidor e como os servidores respondem a essas solicitações.
O que é Cliente Http
O cliente Http é uma biblioteca de transferência que reside no lado do cliente, envia e recebe mensagens HTTP. Ele fornece uma implementação atualizada, rica em recursos e eficiente que atende aos padrões HTTP recentes.
Além disso, usando a biblioteca cliente, pode-se construir aplicativos baseados em HTTP, como navegadores da web, clientes de serviço da web, etc.
Recursos do cliente Http
A seguir estão os recursos proeminentes do cliente Http -
A biblioteca HttpClient implementa todos os métodos HTTP disponíveis.
A biblioteca HttpClient fornece APIs para proteger as solicitações usando o protocolo Secure Socket Layer.
Usando HttpClient, você pode estabelecer conexões usando proxies.
Você pode autenticar conexões usando esquemas de autenticação como Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session etc.
A biblioteca HttpClient oferece suporte ao envio de solicitações por meio de vários threads. Ele gerencia várias conexões estabelecidas a partir de vários threads usandoClientConnectionPoolManager.
Usando a biblioteca Apache HttpClient, você pode definir tempos limite de conexão.