Una de mis aplicaciones se conecta a un módulo de servidor que normalmente está instalado en una computadora diferente, a veces en Internet. En algunos escenarios de implementación, los usuarios no tienen acceso directo a Internet, solo servidores proxy HTTP (s). Así que tengo que enseñarle a mi programa a usar el proxy HTTP para emular la conexión TCP asíncrona al servidor. Hay mucha información en Internet sobre este tema, y con el proxy HTTPS es muy fácil: simplemente envíe "HTTP CONNECT" al puerto 443 de la aplicación del servidor, envíe respuesta y podrá enviar y recibir datos binarios como lo desee.¿Cuál es la forma correcta de emular la conexión TCP a través del proxy HTTP (s)?
Pero algunos usuarios tienen HTTPS deshabilitado en los servidores proxy, por lo que solo tienen HTTP. Y hay una serie de problemas con HTTP debido a que el proxy comprueba activamente el tráfico, intenta almacenarlo en caché, lo acumula, etc. Las 2 conexiones con una solicitud HTTP infinita "GET" y una respuesta HTTP infinita funcionan, pero diferentes proxies ofrecen diferentes problemas: ejemplo, Microsoft IIS no envía pequeños fragmentos de datos al instante e intenta acumularlos :(.
Así que mi pregunta es: ¿es una técnica bien establecida para emular la conexión TCP full duplex a través del proxy HTTP sin soporte HTTPS? existen algunas implementaciones de fuente abierta o comerciales que puedo usar o comprar. ¡Se aceptan sugerencias! Realmente no quiero crear una solución que funcione solo en un número pequeño de proxies, por lo que necesito una implementación ya existente y probada o buen manual :).
Los links que esta WebSockets HTML5 discusión de grupo de trabajo? – grigoryvp