Eng Regel schéckt http://reports.example:80/ duerch e Proxy, lässt awer http://reports.example/ direkt duerch. Dës URLen beschreiwen deeselwechten normale HTTP-Endpunkt. D'Differenz kënnt meeschtens do vun, datt hir analyséiert Porten wuertwiertlech verglach ginn.

URI.getPort() gëtt -1 zréck, wann keen Port an der URI steet. En ersetzt net de Standardwäert fir de Schema. Eng Routing-Politik, déi de Wäert mat 80 vergläicht, verpasst déi zweet URL.

String scheme = uri.getScheme();
int port = uri.getPort();
if (port == -1) {
    if ("http".equalsIgnoreCase(scheme)) port = 80;
    else if ("https".equalsIgnoreCase(scheme)) port = 443;
}

Wend déi selwecht Normaliséierung op béid Säiten vum Verglach un. Just d'URI vun der Ufro ze flécken léisst eng konfiguréiert Destinatioun mat engem ewechgeloossene Port nach ëmmer ouni Iwwereneestëmmung. Vergläicht den Host, de effektive Port an de geplangte Schema; lehnt defekt oder hostlos Destinatiounen iwwer en definéierte Feelerwee of.

Maacht net aus all Callback eng HTTP-Entscheedung

E Standardselektor ka fir roh Socketverbindunge befrot ginn, mam Schema socket. Nëmmen eng Iwwereneestëmmung vun Host a Port däerf net dozou féieren, datt dee Callback e HTTP-Proxy zréckgëtt, dee fir URL-Ufroen geduecht ass. Delegéiert net ënnerstëtzte Schemata un de virege Selektor, a behält säi passenden Verhalen.

Fänkt dee virege Selektor, ier Dir Ären eegenen installéiert. De momentanen Standard vun innerhalb vum Ersatz ze sichen, kann den Ersatz einfach nach eng Kéier ruffen.

Logt de Schema, den Host, den urspréngleche Port an den effektive Port, wann Dir eng Differenz diagnostizéiert. Verloosst Iech net op eng eenzeg observéiert Zuel oder d'Reiefolleg vun de Callbacken iwwer JDK-Implementatiounen. D'Politik soll fir all geliwwerte URI eng korrekt Entscheedung treffen.

Ähnlech Artikelen