OkHttp3-Conexiones
Aunque normalmente solo necesitas proporcionar una URL a OkHttp, OkHttp puede ayudarte a completar otras cosas. Pero, de hecho, OkHttp requiere tres condiciones para conectarse al servidor: URL, dirección y ruta.
Proporcione una URL (como /square/ok) y la configuración estática necesaria para conectarse a este servidor: número de puerto, configuración HTTPS y protocolo de red especificado (como HTTP/2 o SPDY).
Las URL con la misma dirección también se pueden conectar utilizando el mismo socket TCP subyacente. ***Usar la misma conexión mejorará enormemente el rendimiento: menor latencia, mayor rendimiento (conexiones multiplexadas, ya que cada inicio de TCP requiere más trabajo de preparación) y menos consumo de energía. OkHttp utiliza un grupo de conexiones para reutilizar automáticamente conexiones HTTP/1.x, HTTP/2 y SPDY.
La URL proporciona algunos campos para la dirección (como nombre de dominio, nombre de host, número de puerto) y otros campos provienen de OkHttpClient.
Rutas es un objeto en OKHttp, que proporciona configuración dinámica para OkHttp.
El enrutamiento proporciona la configuración dinámica necesaria para conectarse realmente al servidor. Por ejemplo, la dirección IP especificada para intentar conectarse al servidor (obtenida del proveedor de servicios DNS), el servidor proxy real utilizado durante el proceso de conexión (si se utiliza ProxySelector) y qué versión se utiliza
Protocolo TLS (requerido cuando se conecta mediante el protocolo HTTPS).
Para una dirección, pueden existir muchos métodos de enrutamiento. Por ejemplo, cuando un servidor está alojado en varios centros de datos, el enrutador puede obtener varias direcciones IP a partir de la respuesta obtenida del proveedor de DNS.
Cuando utiliza OkHttp para solicitar una URL, OkHttp hace lo siguiente por usted:
Si hay un problema durante el proceso de conexión, OkHttp elegirá otra ruta. Esto significa que cuando no se puede acceder a una determinada dirección IP de un servidor, OkHttp puede intentar acceder a otras direcciones IP. Este mecanismo de reconexión también es útil cuando un grupo de conexiones ha caducado o la versión de TLS a la que intenta conectarse no es compatible con el servidor.
Una vez que el cliente recibe una respuesta del servidor, la conexión se colocará en el grupo de conexiones para que nuevas conexiones la reutilicen en el futuro. Si una conexión no se utiliza durante un período prolongado, se eliminará de este grupo de conexiones.
··