CONNECT-időtúllépések proxy esetén sikeres TCP-kapcsolat után
A CONNECT alatt érvényes időtúllépést keresse meg ahelyett, hogy feltételezné: a befejezett TCP-kapcsolat az alagút beállítását is befejezte.
A TCP-kapcsolat időtúllépése akkor végezte el a dolgát, amikor az ügyfél csatlakozik a proxyhoz. A következő várakozást—egy teljes CONNECT-válasz fogadását—már másik időzítő szabályozhatja.
Lehetséges, hogy a proxy még a felsőbb szerverhez kapcsolódik, hitelesítési üzeneteket vált, vagy egy másik szolgáltatásra vár. A webhely szokásos válasza még nem kezdődött el.
| Utolsó befejezett lépés | Mire vár még? |
|---|---|
| TCP csatlakozva a proxyhoz | A proxy kézfogása, beleértve a CONNECT elfogadását |
| CONNECT elfogadva | A cél TLS-e, amikor a cél használja |
| Célkérés elküldve | A cél válasza |
Keresse meg azt az időzítőt, amely akkor aktív, amikor a csatlakozó olvassa és írja ezt a kézfogást. Előfordulhat, hogy a „response timeout” nevű tulajdonság csak az útvonal létrejötte után lép életbe. A HttpClient 5 esetében különböztesse meg a ConnectionConfig-et és annak socket-időtúllépését, a TLS-kézfogás konfigurációját és a kérés szintű válaszidőtúllépést. A vonatkozó kapcsolatkonfigurációt azon keresztül a kezelőn keresztül alkalmazza, amelyet a tényleges ügyfél használ. A régebbi Apache HttpClient-generációk más API-kat használnak, ezért egy régebbi kódrészlet nem megbízható térkép ezekről a felelősségekről.
A végleges CONNECT-elutasítást továbbra is a proxy válaszának tekintse. A sikeres választ követő TLS-megakadás egy másik hiba szakasza. A „TCP csatlakozva; a beállítási határidő előtt nincs teljes CONNECT-válasz” pontosabban írja le a problémát, mint egy általános proxy-időtúllépés.
Egy átfogó határidő a fázishatárok mellett korlátozhatja a hívó várakozását. Amikor lejár, szakítsa meg vagy zárja le a műveletet az ügyfél által támogatott életcikluson keresztül, mielőtt egy újabb kísérlet kapcsolati kapacitást fogyaszt.