Kiek laiko gali būti atidarytas CONNECT tunelis?
Atskirkite nusistovėjusio tunelio gyvavimo trukmę nuo HTTP atsakymų pakartotinio naudojimo, tarpininkų tuščiosios eigos taisyklių ir paskirties programos sesijos.
CONNECT nežada neribotą laiką atviro tunelio. Po sėkmingų mainų ryšys neša nuolatinį baitų srautą į nurodytą host ir port. Jis gali pernešti kelis mainus paskirties TLS sesijoje tol, kol dalyviai ir tinklas jį palaiko atvirą.
Du proxy limitai veikia skirtingai: srautas gali neleisti pasibaigti idle laikmačiui, bet negali pratęsti absoliučios gyvavimo ribos. Paskirties protokolas taip pat turi žodį. Vidinis HTTP klientas gali uždaryti savo ryšį; WebSocket programa gali baigti savo sesiją. Proxy po to negali išlaikyti tos paskirties sesijos gyvos.
Tunelis yra susietas su savo tikslu. Kai tunelio baitai jau teka, ryšys nebėra įprastas HTTP užklausų kanalas, kuriame būtų galima siųsti dar vieną CONNECT nesusijusiam tikslui. Klientui reikia kito ryšio arba kito tunelio, kurį valdo jo biblioteka.
Nuolatiniam srautui planuokite pakartotinius prisijungimus naudodami kliento palaikomus gyvumo ir ryšio mechanizmus. Jei jis užsidaro po tylos, naudinga užuomina yra neaktyvumo taisyklė; jei jis užsidaro po fiksuotos trukmės nepaisant srauto, tirkite absoliučią ribą. WebSocket srautui taip pat atkurkite programos būseną po prisijungimo iš naujo.