Bir GET proxy üzerinden kimlik doğrulayabilirken bir POST veya PUT yeniden oynatılamayan gövde veya geri sarma hatasıyla başarısız olur. Hesap doğru olabilir: kimlik doğrulama alışverişi, istemci yüklemeyi zaten tükettikten sonra başka bir istek gerektirebilir.

Gövde kaynağıYeniden oynatma seçimi
Küçük sonlu gövdeSınırlı bir arabellek baytlarını tutabilir.
Aranabilir dosyaİstemcinin desteklediği geri sarma arayüzü onu yeniden oynatılabilir yapabilir.
Üretici, boru hattı veya canlı üreticiTek seferlik kaynak farklı bir tasarım gerektirebilir.

libcurl, çok geçişli kimlik doğrulama dahil kullanımlar için arama geri çağrılarını belgeler. Jersey, bağlayıcı davranışına bağlı olarak arabelleğe alınmış ve bölünmüş varlık işleme kipleri sunar. Bir Jersey 2 Apache bağlayıcı örneği arabelleğe alınmış ayarı gösterir. Hiçbiri sınırsız bellek içi yüklemeleri uygun hale getirmez.

Başarısız olan yöntemi ve gövde kaynağını yeniden üretin. Hazırlık GET'inin yeniden oynatılacak bir yüklemesi yoktur ve sonraki bir yüklemenin onun bağlantısını veya kimlik doğrulama durumunu paylaştığını kanıtlamaz. Yeni bir hedef, istemci nesnesi veya bağlantı ilkesi bunu değiştirebilir. Dosya tabanlı bir gövde ile canlı bir akış, örnek metinleri aynı olsa bile farklıdır.

Arabelleğe alırsanız boyut sınırını, depolama konumunu ve ömrünü tanımlayın. Eşzamanlı yüklemeler maliyeti katlar ve hassas veriler arabelleğin tutulduğu her yerde kalır.

Bilinen uyumlu bir proxy'ye ön kimlik doğrulama bir ilk meydan okumayı önleyebilir. Ancak başka bir deneme gerektirebilecek her sonraki kimlik doğrulama turunu, yönlendirmeyi veya kapanmış bağlantıyı dışlayamaz.

Proxy yanıtını, gövdenin tüketildiği noktayı ve yeniden oynatma hatasını birlikte tutun. Ardından protokol yeniden oynatmasını belirsiz bir uygulama sonucundan ayırın: bir gönderim, yanıtı kaybolmadan önce işlenmiş olabilir. Yeniden göndermeden önce hedefin idempotency kurallarına uyun.

İlgili makaleler