GET dapat diautentikasi melalui proxy sementara POST atau PUT gagal dengan kesalahan badan yang tidak dapat diulang atau pemutaran ulang. Akun bisa saja benar: pertukaran autentikasi dapat memerlukan permintaan lain setelah klien sudah menghabiskan unggahan.

Sumber badanPilihan pengulangan
Badan kecil berbatasBuffer terbatas dapat menyimpan byte-nya.
Berkas yang dapat dicariAntarmuka pemutaran ulang yang didukung klien dapat membuatnya dapat diulang.
Generator, pipa, atau produsen langsungSumber sekali pakai mungkin memerlukan rancangan lain.

libcurl mendokumentasikan callback pencarian untuk penggunaan termasuk autentikasi multipass. Jersey menawarkan mode pemrosesan entitas ter-buffer dan terpotong bergantung pada perilaku konektor. Contoh konektor Jersey 2 Apache menunjukkan pengaturan ter-buffer. Keduanya tidak membuat unggahan tak terbatas di memori menjadi pantas.

Reproduksi metode dan sumber badan yang gagal. GET persiapan tidak memiliki unggahan untuk diulang, dan itu tidak membuktikan bahwa unggahan berikutnya berbagi koneksi atau status autentikasinya. Tujuan, objek klien, atau kebijakan koneksi baru dapat mengubahnya. Badan berbasis berkas dan aliran langsung juga berbeda meskipun teks contohnya sama.

Jika Anda melakukan buffering, tentukan batas ukuran, lokasi penyimpanan, dan masa pakainya. Unggahan bersamaan melipatgandakan biaya, dan data sensitif tetap berada di tempat buffer disimpan.

Praautentikasi ke proxy kompatibel yang dikenal dapat menghindari satu tantangan awal. Itu tidak dapat mengecualikan setiap putaran autentikasi, pengalihan, atau koneksi tertutup berikutnya yang mungkin menuntut percobaan lain.

Simpan bersama balasan proxy, titik konsumsi badan, dan kesalahan pengulangan. Lalu bedakan pengulangan protokol dari hasil aplikasi yang tidak pasti: pengiriman mungkin telah diproses sebelum balasannya hilang. Ikuti aturan idempotensi tujuan sebelum mengirimnya lagi.

Artikel terkait