Gjentekne proxy-autentiseringar og ikkje-gjentakbare opplastingskroppar
Forstå kvifor gjentekne autentiseringsforsøk kan avdekkje ein eingongs opplastingsstraum, og vel medvite avgrensa bufreing eller gjentakbart innhald.
Ein GET kan autentisere gjennom ein proxy medan ein POST eller PUT feilar med ein feil om ikkje-gjentakbar kropp eller tilbakespoling. Kontoen kan vere riktig: ein autentiseringsutveksling kan krevje endå ein førespurnad etter at klienten alt har brukt opplastinga.
| Kroppskjelde | Val av gjentaking |
|---|---|
| Liten endeleg kropp | Ein avgrensa buffer kan halde på byta. |
| Søkbar fil | Klienten sitt støtta tilbakespolingsgrensesnitt kan gjere han gjentakbar. |
| Generator, røyr eller levande produsent | Ei eingongskjelde kan krevje ei anna utforming. |
libcurl dokumenterer seek-callbacks for bruk, mellom anna autentisering i fleire trinn. Jersey tilbyr bufra og oppdelt eininghandsaming avhengig av oppførselen til kontakten. Eit døme på Jersey 2 Apache-kontakt viser den bufra innstillinga. Ingen av dei gjer ubegrensa opplastingar i minnet høvelege.
Gjenskap metoden og kroppskjelda som feilar. Ein førebuande GET har inga opplasting å gjenta, og han beviser ikkje at ei seinare opplasting deler tilkoblinga eller autentiseringstilstanden. Ein ny destinasjon, klientobjekt eller tilkoblingspolicy kan endre det. Ein filbasert kropp og ein levande straum er også ulike sjølv når dømeteksten deira er den same.
Viss du bufrar, definer storleiksgrensa, lagringsstaden og levetida. Samtidige opplastingar mangedoblar kostnaden, og sensitive data blir verande der bufferen blir oppbevart.
Førehand-autentisering til ein kjend kompatibel proxy kan unngå éi innleiande utfordring. Ho kan ikkje utelukke kvar seinare autentiseringsrunde, omdirigering eller lukka tilkobling som kan krevje eit nytt forsøk.
Hald proxy-svaret, punktet der kroppen blir brukt, og gjentakingsfeilen saman. Skil deretter protokollgjentaking frå eit usikkert applikasjonsresultat: ei innsending kan ha vorte handsama før svaret gjekk tapt. Følg idempotensreglane til destinasjonen før du sender ho igjen.