HTTPS yenye joto dhidi ya VPN yenye joto: linganisha njia hiyo hiyo ya ombi
HTTPS haifanyi handshake kwa kila ombi la API, kwa hivyo muunganisho wenye joto na handaki yenye joto si washindani. Linganisha muundo huo huo wa maombi kabla ya kuchagua.
Labda umesoma kwamba HTTPS hufungua muunganisho mpya wa TCP na handshake mpya ya TLS kwa kila ombi la API, kwa hivyo handaki inayobaki wazi kwa saa moja inaonekana kuwa rahisi. Nusu ya kwanza ya hayo kwa kawaida si kweli. Mteja anayeungwa mkono hutumia tena muunganisho uliowekwa kwa mabadilishano mengi, na kipimo kinachojenga mteja mpya kwa kila wito hupima mzunguko wa maisha badala ya ulinzi. Sehemu iliyobaki ya ukurasa huu inazungumzia nini cha kupima badala yake.
Kile ambacho utumiaji tena unahitaji kweli
Uendelevu ni sehemu ya mtindo wa HTTP na si hila: muunganisho mmoja hubeba mabadilishano kadhaa ya ombi na jibu. Muunganisho huisha wakati upande wowote unaufunga, wakati seva inaondoa muunganisho usio na shughuli au uliozidiwa, au wakati kichwa au kanuni ya itifaki inasema muunganisho hauwezi kutumika tena. HTTPS huweka mazungumzo hayo ndani ya TLS bila kuhitaji handshake mpya kwa kila mabadilishano. Kwa hivyo ombi la pili halirudii handshake ya ombi la kwanza isipokuwa kitu kilimaliza muunganisho katikati.
Utumiaji tena pia una sharti moja ambalo programu huvunja kwa urahisi. Mteja anayepanga kutumia tena muunganisho lazima asome mwili kamili wa jibu, na jibu linaloachwa katikati ndiyo njia ya kawaida ambayo bwawa la muunganisho hupotea bila mtu yeyote kugundua.
Kagua mteja unaoungwa mkono na maktaba na mzunguko wa maisha wa bwawa la muunganisho badala ya kudhani kuwa uwekaji kwenye bwawa umewashwa au umezimwa. Rekodi pia toleo la HTTP lililojadiliwa, kwa sababu HTTP/2 na HTTP/3 hushughulikia utumiaji tena wa muunganisho tofauti na HTTP/1.1. Chukulia toleo lililojadiliwa kama sehemu ya kipimo, si maelezo ya chini.
Kwa nini ulinganisho hupima mzunguko wa maisha
Kuunda mteja mpya kwa kila operesheni na kumlinganisha na handaki iliyounganishwa kwa saa moja hulinganisha uwekaji wa muunganisho na hali tulivu. Hicho ni kipimo halali, na si HTTPS dhidi ya VPN. Vipimo viwili vilivyo na usanidi sawa wa mteja huelezea tabia vizuri zaidi kuliko kimoja, hasa wakati kipimo cha kwanza kinapopasha kiyeyusho au akiba ya muunganisho.
Weka operesheni ya API, seva, akaunti na data kuwa thabiti, vinginevyo ulinganisho hubeba zaidi ya kigezo kimoja. Amua mapema wapi unaweka kipima muda, kwa sababu uwekaji, majadiliano ya TLS, utekelezaji wa programu na uwasilishaji wa jibu huchangia kwa kiasi tofauti katika jumla. Kipima muda kimoja cha ombi la kwanza hubainisha uwekaji na hakisemi kitu kuhusu trafiki tulivu unayoendesha kweli. Andika mipaka ya kipima muda kando ya namba.
Tenganisha uwekaji baridi na maombi yenye joto
Pima ombi la kwanza kando na yale yanayofuata. Kisha ongeza kile ambacho huduma huona kweli: vipindi visivyo na shughuli, mlipuko, ushirikiano, ukubwa wa jibu na muunganisho upya.
Acha uthibitishaji wa vyeti na HTTPS vikiwa washwa kwenye njia zote mbili, kwa sababu kuviondoa hupima muundo mwingine wa usalama na si ule wa haraka. Ikiwa handaki inabadilisha njia au eneo la lango, ripoti tofauti hiyo kando badala ya kuhusisha kila mabadiliko ya muda na usimbaji fiche, kwa kuwa njia, upotevu na foleni zinaweza kutawala ombi dogo. Endesha kila njia mara mbili kwenye njia hiyo hiyo kabla ya kufikia hitimisho. Rekodi itifaki iliyojadiliwa na mipaka ya kipima muda pamoja na vipimo vyote viwili.
Panga kwa ajili ya muunganisho unaofungwa
Uendelevu haimaanishi wa milele. Seva, proksi au mabadiliko ya mtandao yanaweza kufunga muunganisho wakati wa kipindi kisicho na shughuli, na mteja lazima apone kupitia tabia inayoungwa mkono na maktaba yake. Uponyaji huo una mashine ya hali: ombi linaweza kuwa limekamilika kwenye seva, au linaweza kuwa limeshindwa kabla seva kuusoma, na soketi iliyofungwa haimwambii mpigaji simu kilichotokea. Operesheni isiyo ya idempotent katika nafasi hiyo haiwezi kuchezwa tena kwa urahisi, kwa sababu uchezaji tena hubadilisha matokeo yasiyojulikana kuwa uandishi maradufu. Hapa handaki yenye joto na muunganisho wenye joto hufanya vivyo hivyo, kwa kuwa zote mbili zinaweza kushindwa wakati kazi iko njiani.
Tumia utaratibu ulioandikwa wa kujaribu tena au wa idempotent wa huduma badala ya mzunguko unaofungua tena soketi. Jaribu uponyaji waziwazi kwa kufunga muunganisho usio na shughuli na kuona mteja anafanya nini baadaye. Kufungua tena soketi hakufanyi kurudia wito unaobadilisha hali kuwa salama.
Chagua mpaka kwanza, kisha rekebisha
Chagua mpaka wa mtandao kutoka kwa mahitaji ya ufikiaji na uaminifu kabla ya kuboresha chochote. VPN hulinda sehemu kati ya wenza wake, wakati vituo vya programu na sehemu yoyote ya maandishi wazi nje ya handaki bado ni muhimu. Kisha rekebisha mzunguko wa maisha wa muunganisho ndani ya mpaka huo. Hitimisho la handaki ya bei nafuu linafuata tu kutokana na imani kwamba kila ombi hurudia handshake, na imani hiyo ndiyo inayojaribiwa hapa.
Sehemu ya uendelevu katika RFC 9112 ndiyo kumbukumbu ya kile utumiaji tena unaahidi kweli, ikiwa ni pamoja na masharti yanayomaliza muunganisho. Soma mara moja kabla ya kuamini kipimo kinachozipuuza.