Välityspalvelin hyväksyi TCP:n mutta ei koskaan saattanut CONNECT-vastausta loppuun. Verkkosivuston vastaus ei ole vielä alkanut; vain tuohon myöhempään vastaukseen kohdistuva aikakatkaisu voi jättää tämän muodostuksen odottamaan loputtomiin.

Apache HttpClient 5.3.1:ssä aseta yhteyshallinnan oletukset:

var connection = ConnectionConfig.custom()
    .setConnectTimeout(Timeout.ofSeconds(5))
    .setSocketTimeout(Timeout.ofSeconds(10))
    .build();

var manager = PoolingHttpClientConnectionManagerBuilder.create()
    .setDefaultConnectionConfig(connection)
    .build();

var client = HttpClients.custom()
    .setConnectionManager(manager)
    .setProxy(new HttpHost("http", "proxy.example", 8080))
    .build();

Käytä Apache HttpComponents 5 -luokkia org.apache.hc, ja Timeout on core5-apupaketissa. Pidä asiakas työtään varten ja sulje se. Eristetyssä julkisessa HTTP-testissä ehdokas HTTP-välityspalvelinluettelosta tarjoaa päätepisteen; pidä kohde vakaana aikakatkaisuja verratessasi.

RajaKatettu odotus
YhteysaikakatkaisuYhteyden muodostus
Socket-aikakatkaisuOletus-I/O-toimettomuus, mukaan lukien CONNECT-vaihto
Poolista hankinta / sovelluksen vastausMuut erikseen määritetyt vaiheet

CONNECTin jälkeen TLS voi tarvita oman muodostusrajansa HttpClient 5:n TLS-asetusten kautta. Eruta myös toimettomuus kokonaisaikarajasta: katkonaiset tavut tai toistuvat todennusvaihdot voivat pidentää kokonaisaikaa. Käytä sovelluksen tukemaa aikaraja- tai peruutuskäytäntöä yhteen budjettiin koko toiminnolle.

Aiheeseen liittyvät artikkelit