O CONNECT não promete um túnel aberto indefinidamente. Após uma troca bem-sucedida, a conexão transporta um fluxo contínuo de bytes para o host e a porta solicitados. Pode transportar várias trocas dentro de uma sessão TLS de destino enquanto os participantes e a rede a mantiverem aberta.

Dois limites do proxy se comportam de modo diferente: o tráfego pode impedir que um temporizador idle expire, mas não pode estender um limite absolute de tempo de vida. O protocolo de destino também tem voz. Um cliente HTTP interno pode fechar sua conexão; uma aplicação WebSocket pode encerrar sua sessão. Depois disso, o proxy não consegue manter essa sessão de destino viva.

Um túnel está preso ao seu alvo. Quando os bytes do túnel já estão fluindo, a conexão deixa de ser um canal comum de requisições HTTP no qual se possa emitir outro CONNECT para um destino não relacionado. O cliente precisa de outra conexão ou de outro túnel gerenciado pela sua biblioteca.

Para um feed persistente, planeje reconexões com os mecanismos de vivacidade e de conexão suportados pelo cliente. Se ele fechar após silêncio, uma política de inatividade é uma pista útil; se fechar após uma duração fixa apesar do tráfego, investigue um limite absoluto. Para um feed WebSocket, restaure também o estado da aplicação após reconectar.

Artigos relacionados