domingo, 20 de abril de 2008

Paralelizando conexiones más allá de los límites del navegador

Últimamente he estado lidiando con el asunto del límite de conexiones de los navegadores trabajando bajo HTTP 1.1. En esta versión del protocolo no se permiten, en principio, más de 2 conexiones simultáneas. Ésto es un problema en aplicaciones que precisan sacar el máximo rendimiento de las descargas como puede ser el envío de imágenes, que ya de por sí es información pesada.

Aquí cuentan que un cliente no debería mantener más de 2 conexiones con cualquier servidor o Proxy. Muy bien; eso coménteselo a los de Google y su Google Maps, o a Microsoft y su Maps Live, a ver qué opinan del asunto (ellos lo resuelven como detallo más adelante). Y todo por seguir "el estándar", dicho sea de paso.

Microsoft ya ha tomado medidas con su 'Explorer 8' para aumentar por defecto el número de conexiones simultáneas a 6. El caso es que como siempre, cada navegador irá "a su bola" y al final nos tocará lidiar con estos problemas a los programadores (para ganarnos el sueldo, y tal...). Menuda chusta!

Googleando se puede encontrar cómo resolver este asunto de forma más o menos elegante (sin intervención por parte del usuario) con la inclusión de múltiples dominios que apunten a una misma IP encargada de resolver las peticiones al cliente. Con este "Hack" la verdad es que se consiguen unas velocidades de descarga potentes (siempre dependiendo del ancho de banda). Prueba de ello es el visor que tenemos publicado para GeoMadrid.

En diversos Blogs que he estado leyendo opinan que este tipo de triquiñuelas puede reventar Internet. Yo opino que todo en su justa medida... Los servidores deben estar preparados ofreciendo escalabilidad pues las aplicaciones de hoy demandan grandes volúmenes de información. La Web tiene su talón de Aquiles en el ancho de banda pero eso no debe ser un impedimento para desarrollar aplicaciones que saquen el máximo provecho de los recursos disponibles.