Hur länge kan en CONNECT-tunnel hållas öppen?
Skilj livslängden för en etablerad tunnel från återanvändning av HTTP-svar, mellanledens inaktivitetsregler och målapplikationens egen session.
CONNECT lovar ingen tunnel som är öppen på obestämd tid. Efter ett lyckat utbyte bär anslutningen en fortlöpande byte-ström till den begärda värden och porten. Den kan bära flera utbyten inom en TLS-session mot målet så länge deltagarna och nätet håller den öppen.
Två proxygränser beter sig olika: trafik kan hindra en idle-timer från att löpa ut, men den kan inte förlänga en absolute livstidsgräns. Målprotokollet har också ett ord med i laget. En inre HTTP-klient kan stänga sin anslutning; en WebSocket-applikation kan avsluta sin session. Proxyn kan inte hålla den målsessionen vid liv efteråt.
En tunnel är bunden till sitt mål. När tunnelbyten väl flödar är anslutningen inte längre en vanlig kanal för HTTP-förfrågningar där man kan utfärda ytterligare en CONNECT för ett orelaterat mål. Klienten behöver en annan anslutning eller en annan tunnel som hanteras av dess bibliotek.
För ett beständigt flöde bör du planera återanslutningar med de mekanismer för livstecken och anslutning som klienten stöder. Stängs den efter tystnad är en inaktivitetsregel ett användbart spår; stängs den efter en fast varaktighet trots trafik bör du undersöka en absolut gräns. För ett WebSocket-flöde bör du också återställa applikationstillståndet efter återanslutning.