Is féidir le prótacal TCP saincheaptha taisteal trí sheachfhreastalaí HTTP nuair a cheadaíonn an seachfhreastalaí sin CONNECT chuig an gceann scríbe. Ní gá don phrótacal feidhmchláir éirí ina HTTP: socraíonn HTTP an tollán, agus ansin malartaíonn an feidhmchlár a bhearta féin istigh ann.

Soláthraíonn OpenJDK 25 conair trí sheachfhreastalaí HTTP in Socket(Proxy). Déanann a chur i bhfeidhm an malartú CONNECT agus filleann sé soicéad nasctha don fheidhmchlár.

Proxy route = new Proxy(
    Proxy.Type.HTTP,
    new InetSocketAddress("proxy.example", 8080));

try (Socket socket = new Socket(route)) {
    socket.setSoTimeout(10000);
    socket.connect(
        InetSocketAddress.createUnresolved("tcp-service.example", 8443),
        5000);
    InputStream input = socket.getInputStream();
    OutputStream output = socket.getOutputStream();
}

Úsáideann an sliocht seo aicmí ó java.net agus ó java.io. Cuir an dá cheann scríbe in ionad a chéile agus déan malartú an phrótacail sula bhfágann tú an bloc try. Le haghaidh sprioc TCP phoiblí cheadaithe, roghnaigh iarrthóirí HTTP ó liosta na seachfhreastalaithe HTTP ach amháin tar éis cead CONNECT a sheiceáil do phort na sprice sin. Is é seoladh an tseachfhreastalaí an áit a nascann Java ar dtús; aithníonn an seoladh a chuirtear chuig connect an tseirbhís a chaithfidh an seachfhreastalaí a bhaint amach.

Coinníonn an ceann scríbe neamhréitithe a óstainm don iarratas CONNECT sa chur i bhfeidhm seo. Cuireann InetSocketAddress réitithe a sheoladh IP réitithe ar fáil don iarratas sin ina ionad. Tá tábhacht leis an idirdhealú sin nuair a chaithfidh an seachfhreastalaí ainm na seirbhíse a réiteach nó beartas bunaithe ar óstainm a chur i bhfeidhm.

Cad a fhágtar agat tar éis nasc rathúil

Iompraíonn na sruthanna a thagann as sonraí na seirbhíse tollánaithe. Ní nochtann siad freagra HTTP ar leith ar cheart do d’fheidhmchlár é a léamh agus a chaitheamh amach. Chuirfeadh dara malartú CONNECT téacs HTTP chuig an tseirbhís tar éis don JDK an tollán a bhunú cheana féin.

Socraíonn an sampla teorainn ama naisc agus teorainn ama léitheoireachta soicéid; rialuithe ar leithligh iad sin, ní aon spriocdháta iomlán don seisiún feidhmchláir.

Baineann cead CONNECT leis an seachfhreastalaí fós. Féadfaidh ceann scríbe a sheolann gnáthiarrachtaí gréasáin ar aghaidh port na seirbhíse a dhiúltú nó fíordheimhniú a éileamh sula n-osclaítear tollán. Coinnigh na teipeanna sin ar leithligh ó fhreastalaí a ghlacann leis an tollán ach a dhiúltaíonn do phrótacal feidhmchláir níos déanaí.

Más gá TLS don phrótacal sin, déan TLS a chaibidliú tríd an soicéad nasctha le hóstainm beartaithe na seirbhíse agus le gnáthsheiceálacha teastais. Ní chriptíonn CONNECT ann féin an sruth. Le haghaidh fíor-API HTTP, is é cliant HTTP an comhéadan is áisiúla fós mar go láimhseálann sé teachtaireachtaí HTTP freisin.

Ailt ghaolmhara