Apache HttpClient - Descripción general
El Protocolo de transferencia de hipertexto (HTTP) es un protocolo a nivel de aplicación para sistemas de información hipermedia distribuidos y colaborativos. Ésta es la base para la comunicación de datos para la World Wide Web (es decir, Internet) desde 1990. HTTP es un protocolo genérico y sin estado que se puede utilizar para otros fines, así como extensiones de sus métodos de solicitud, códigos de error y encabezados.
Básicamente, HTTP es un protocolo de comunicación basado en TCP / IP, que se utiliza para entregar datos (archivos HTML, archivos de imagen, resultados de consultas, etc.) en la World Wide Web. El puerto predeterminado es TCP 80, pero también se pueden usar otros puertos. Proporciona una forma estandarizada para que las computadoras se comuniquen entre sí. La especificación HTTP define cómo se construirán y enviarán los datos de solicitud de los clientes al servidor, y cómo los servidores responderán a estas solicitudes.
¿Qué es Http Client?
El cliente Http es una biblioteca de transferencia, reside en el lado del cliente, envía y recibe mensajes HTTP. Proporciona una implementación actualizada, rica en funciones y eficiente que cumple con los estándares HTTP recientes.
Además de esto, utilizando la biblioteca de cliente, se pueden crear aplicaciones basadas en HTTP como navegadores web, clientes de servicios web, etc.
Características del cliente Http
Las siguientes son las características destacadas del cliente Http:
La biblioteca HttpClient implementa todos los métodos HTTP disponibles.
La biblioteca HttpClient proporciona API para proteger las solicitudes mediante el protocolo Secure Socket Layer.
Con HttpClient, puede establecer conexiones mediante proxies.
Puede autenticar conexiones utilizando esquemas de autenticación como Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, etc.
La biblioteca HttpClient admite el envío de solicitudes a través de varios subprocesos. Gestiona múltiples conexiones establecidas desde varios hilos utilizandoClientConnectionPoolManager.
Con la biblioteca Apache HttpClient, puede establecer tiempos de espera de conexión.