GET se može autentificirati kroz proxy dok POST ili PUT ne uspije s greškom neponovljivog tijela ili premotavanja. Račun može biti ispravan: razmjena autentifikacije može zahtijevati još jedan zahtjev nakon što je klijent već potrošio prijenos.

Izvor tijelaIzbor ponavljanja
Malo konačno tijeloOgraničeni bafer može zadržati njegove bajtove.
Datoteka s pretraživanjemSučelje za premotavanje koje klijent podržava može ga učiniti ponovljivim.
Generator, cijev ili živi proizvođačJednokratni izvor može zahtijevati drugačiji dizajn.

libcurl dokumentira seek pozive za upotrebe uključujući višeprolaznu autentifikaciju. Jersey nudi baferirani i podijeljeni način obrade entiteta ovisno o ponašanju konektora. Primjer konektora Jersey 2 Apache prikazuje baferiranu postavku. Nijedno od njih ne čini neograničene prijenose u memoriji prikladnima.

Reproducirajte metodu i izvor tijela koji ne uspijevaju. Pripremni GET nema prijenos za ponavljanje i ne dokazuje da kasniji prijenos dijeli njegovu vezu ili stanje autentifikacije. Novo odredište, klijentski objekt ili politika veze mogu to promijeniti. Tijelo zasnovano na datoteci i živi tok također se razlikuju čak i kada im je ogledni tekst isti.

Ako baferirate, definirajte ograničenje veličine, mjesto pohrane i životni vijek. Istovremeni prijenosi umnožavaju trošak, a osjetljivi podaci ostaju gdje god se bafer drži.

Prethodna autentifikacija na poznati kompatibilni proxy može izbjeći jedan početni izazov. Ne može isključiti svaki kasniji krug autentifikacije, preusmjeravanje ili zatvorenu vezu koja bi mogla zahtijevati još jedan pokušaj.

Držite odgovor proxyja, točku potrošnje tijela i grešku ponavljanja zajedno. Zatim razlikujte ponavljanje protokola od neizvjesnog rezultata aplikacije: slanje je možda obrađeno prije nego što je njegov odgovor izgubljen. Slijedite pravila idempotentnosti odredišta prije ponovnog slanja.

Povezani članci