Majaribio ya kurudia uthibitishaji wa proksi na miili ya upakiaji isiyoweza kurudiwa
Elewa kwa nini majaribio ya kurudia uthibitishaji yanaweza kufichua mtiririko wa upakiaji wa mara moja, na chagua kwa makusudi bafa yenye mipaka au maudhui yanayoweza kurudiwa.
GET inaweza kuthibitika kupitia proksi wakati POST au PUT inashindwa na hitilafu ya mwili usioweza kurudiwa au ya kurudisha nyuma. Akaunti inaweza kuwa sahihi: mabadilishano ya uthibitishaji yanaweza kuhitaji ombi jingine baada ya mteja kuwa ametumia upakiaji.
| Chanzo cha mwili | Chaguo la kurudia |
|---|---|
| Mwili mdogo wenye mipaka | Bafa yenye mipaka inaweza kuhifadhi baiti zake. |
| Faili inayoweza kutafutwa | Kiolesura cha kurudisha nyuma kinachoungwa mkono na mteja kinaweza kuufanya uweze kurudiwa. |
| Kizalishaji, bomba au mzalishaji hai | Chanzo cha mara moja kinaweza kuhitaji muundo mwingine. |
libcurl inaandika miito ya utafutaji kwa matumizi ikiwa ni pamoja na uthibitishaji wa hatua nyingi. Jersey inatoa mbinu za usindikaji wa huluki zenye bafa na zilizogawanywa kulingana na tabia ya kiunganishi. Mfano wa kiunganishi cha Jersey 2 Apache unaonyesha mpangilio wa bafa. Hakuna kati yao kinachofanya upakiaji usio na kikomo katika kumbukumbu uwe mwafaka.
Zalisha upya mbinu na chanzo cha mwili vinavyoshindwa. GET ya maandalizi haina upakiaji wa kurudia, na haithibitishi kwamba upakiaji wa baadaye unashiriki muunganisho au hali yake ya uthibitishaji. Marudio mapya, kitu cha mteja au sera ya muunganisho zinaweza kubadilisha hilo. Mwili unaotegemea faili na mtiririko hai pia hutofautiana hata maandishi yao ya sampuli yakiwa sawa.
Ikiwa unabafa, fafanua kikomo cha ukubwa, mahali pa kuhifadhi na muda wa maisha. Upakiaji wa wakati mmoja huongeza gharama mara nyingi, na data nyeti hubaki popote bafa inapohifadhiwa.
Uthibitishaji wa mapema kwa proksi inayojulikana inayooana unaweza kuepuka changamoto moja ya awali. Hata hivyo hauwezi kuondoa kila raundi ya uthibitishaji, uelekezaji upya au muunganisho uliofungwa wa baadaye unaoweza kuhitaji jaribio jingine.
Weka pamoja jibu la proksi, mahali pa matumizi ya mwili na hitilafu ya kurudia. Kisha tofautisha kurudia kwa itifaki na matokeo ya programu yasiyo ya uhakika: uwasilishaji unaweza kuwa ulishughulikiwa kabla ya jibu lake kupotea. Fuata kanuni za idempotency za marudio kabla ya kuituma tena.