SOCKS5-framendi getur notað HTTP-milliserv sem framhaldsflutning sinn. Hann starfar sem SOCKS-þjónn gagnvart biðlaranum og sem HTTP CONNECT-biðlari gagnvart foreldrinu. Báðum stjórnskiptunum lýkur áður en forritsstraumurinn hefst.

SOCKS CONNECT-beiðnin gefur þegar upp áfangahýsilinn eða -vistfangið og gáttina. Fyrir dæmigerð HTTP/1.1-skipti við foreldrið:

client → adapter: SOCKS5 CONNECT service.example.net:443
adapter → parent:
    CONNECT service.example.net:443 HTTP/1.1
    Host: service.example.net:443

parent → adapter: HTTP/1.1 200 Connection Established
                 [end of headers]
adapter → client: SOCKS5 success reply

client ↔ adapter ↔ parent ↔ service: application bytes

Þýddu niðurstöðuna á mörkunum

Aðlagið lýkur hverri nauðsynlegri auðkenningu hjá foreldrinu og bíður niðurstöðu CONNECT. Árangursríkt 2xx-svar reisir göng foreldrisins. Aðeins þá á það að skila samsvarandi SOCKS-árangurssvari til biðlarans neðar.

Ef foreldrið hafnar aðgerðinni skaltu senda skilgreint SOCKS-bilunarsvar og loka síðan biðlaratengingunni tafarlaust. SOCKS5 krefst þeirrar lokunar innan tíu sekúndna frá því að bilunin greinist. Haltu HTTP-stöðu foreldrisins sem greiningarupplýsingum fyrir aðlagið. Að senda þá stöðulínu sem forritsgögn myndi setja HTTP-stjórnboð inn í straum sem biðlari hans væntir SOCKS-ramma í.

Fyrir árangursríka CONNECT-niðurstöðu talar foreldrið enn HTTP, þar á meðal ramma hvers áskorunar- eða villusvars. Eftir hausaskilju árangursríkrar niðurstöðu verður tengingin göngin; það er enginn HTTP-svarsbúkur til að neyta fyrst.

Varðveittu bætin eftir hausana

Ein lestur getur innihaldið enda hausa foreldrisins og bæti frá áfangastaðnum saman. Geymdu þessi aukabæti fyrir forritið neðar. Samskiptareglur þar sem þjónninn talar fyrst geta heilsað um leið og tenging þeirra opnast.

Eftir að SOCKS-árangurssvarinu hefur verið send skaltu senda forritsstrauminn í báðar áttir. Aðlagið þarf ekki að skipta á milli eins biðlaraboðs og eins þjónaboðs, og það þarf ekki að skilja TLS-færslur til að senda þær áfram. Samskiptaregluverk þess var að reisa og þýða göngusamningana tvo.

Tengdir greinar