Hoe lang kan een CONNECT-tunnel open blijven?
Scheid de levensduur van een opgezette tunnel van hergebruik van HTTP-responses, idle-beleid van tussenliggende partijen en de sessie van de doelaplicatie zelf.
CONNECT belooft geen tunnel die onbeperkt open blijft. Na een geslaagde uitwisseling draagt de verbinding een doorlopende bytestroom naar de gevraagde host en poort. Hij kan meerdere uitwisselingen binnen een TLS-sessie met de bestemming dragen zolang de deelnemers en het netwerk hem openhouden.
Twee proxylimieten werken verschillend: verkeer kan voorkomen dat een idle-timer afloopt, maar het kan een absolute levensduurlimiet niet verlengen. Het protocol van de bestemming heeft ook een stem. Een binnenste HTTP-client kan zijn verbinding sluiten; een WebSocket-applicatie kan zijn sessie beëindigen. De proxy kan die sessie met de bestemming daarna niet in leven houden.
Een tunnel is aan zijn doel gebonden. Zodra tunnelbytes stromen, is de verbinding geen gewoon HTTP-verzoekkanaal meer om nog een CONNECT op uit te geven voor een ongerelateerde bestemming. De client heeft een andere verbinding nodig, of een andere tunnel die door zijn bibliotheek wordt beheerd.
Plan voor een permanente feed herverbindingen met de liveness- en verbindingsmechanismen die de client ondersteunt. Sluit hij na stilte, dan is een inactiviteitsbeleid een nuttig spoor; sluit hij na een vaste duur ondanks verkeer, onderzoek dan een absolute limiet. Voor een WebSocket-feed moet u na het herverbinden ook de applicatiestatus herstellen.