Starpniekservera autentifikācijas atkārtojumi un neatkārtojami augšupielādes ķermeņi
Saprotiet, kāpēc autentifikācijas atkārtojumi var atklāt vienreizēju augšupielādes plūsmu, un apzināti izvēlieties ierobežotu buferēšanu vai atkārtojamu saturu.
GET var autentificēties caur starpniekserveri, kamēr POST vai PUT neizdodas ar neatkārtojama ķermeņa vai attīšanas kļūdu. Konts var būt pareizs: autentifikācijas apmaiņa var prasīt vēl vienu pieprasījumu pēc tam, kad klients jau ir patērējis augšupielādi.
| Ķermeņa avots | Atkārtošanas izvēle |
|---|---|
| Mazs ierobežots ķermenis | Ierobežots buferis var saglabāt tā baitus. |
| Meklējams fails | Klienta atbalstītā attīšanas saskarne var padarīt to atkārtojamu. |
| Ģenerators, caurule vai tiešsaistes ražotājs | Vienreizējam avotam var būt nepieciešams cits dizains. |
libcurl dokumentē meklēšanas atzvanus lietojumiem, tostarp daudzsoļu autentifikācijai. Jersey piedāvā buferētu un sadalītu entītiju apstrādes režīmu atkarībā no savienotāja uzvedības. Piemērs ar Jersey 2 Apache savienotāju parāda buferēto iestatījumu. Neviens no tiem nepadara neierobežotas augšupielādes atmiņā piemērotas.
Atkārtojiet neizdevušos metodi un ķermeņa avotu. Sagatavošanas GET nav augšupielādes, ko atkārtot, un tas nepierāda, ka vēlāka augšupielāde dalās ar tā savienojumu vai autentifikācijas stāvokli. Jauns galamērķis, klienta objekts vai savienojuma politika to var mainīt. Failā balstīts ķermenis un tiešraides straume arī atšķiras pat tad, ja to parauga teksts ir vienāds.
Ja buferējat, definējiet izmēra ierobežojumu, glabāšanas vietu un darbības laiku. Vienlaicīgas augšupielādes reizina izmaksas, un jutīgi dati paliek tur, kur buferis tiek turēts.
Iepriekšēja autentifikācija zināmam saderīgam starpniekserverim var izvairīties no viena sākotnējā izaicinājuma. Taču tā nevar izslēgt katru vēlāku autentifikācijas kārtu, novirzīšanu vai slēgtu savienojumu, kam var būt nepieciešams vēl viens mēģinājums.
Turiet kopā starpniekservera atbildi, ķermeņa patēriņa punktu un atkārtošanas kļūdu. Pēc tam atšķiriet protokola atkārtošanu no nedroša lietojumprogrammas rezultāta: iesniegums varēja tikt apstrādāts pirms tā atbildes zaudēšanas. Pirms sūtīšanas vēlreiz ievērojiet galamērķa idempotences noteikumus.