Bir isteğin yeniden gönderilmesi, aynı sonucun yeniden üretilmesini gerektirmez. İdempotent işlem, aynı istek birden çok kez uygulandığında sistemin kalıcı ve dışarıdan gözlenebilir durumunu ilk başarılı uygulamanın ötesinde değiştirmeyen işlemdir. Ağ yanıtı yolda kaybolduğunda istemci güvenle tekrar deneyebilir; bu güvence yoksa yeniden deneme ikinci siparişe, bildirime veya tahsilata dönüşebilir.
Tekrarlama anahtarı, sonuç kaydı ve yinelenen isteği tanıyan depolama bu davranışı sağlayabilir; fakat kayıtların ne kadar tutulacağı, kapsamın hangi kullanıcı ve işlemle sınırlandığı, eşzamanlı isteklerin nasıl uzlaştırıldığı yeni bakım işidir. Üstelik idempotans her yanıtın aynı olacağı veya işlemin yalnız bir kez çalışacağı anlamına gelmez; günlükler ve sayaçlar yine değişebilir. Küçük test, başarılı yanıtı istemciden saklayıp aynı anahtarla isteği yinelemek ve kalıcı durum ile dış sistem etkisinin çoğalmadığını gözlemlemektir. Tekrar düğmesi kolaydır; tekrarın anlamını sabit tutmak asıl protokoldür.
3 entry
idempotent işlem
Bir isteği yeniden göndermek, ilk denemenin başarısız olduğu anlamına gelmez; yalnızca yanıtın ulaşmadığını gösterebilir. İdempotent işlem, aynı niyetle birden fazla kez uygulandığında sistemin görünen sonucunu ilk başarılı uygulamanın ötesinde değiştirmeyen işlemdir. Okuma çağrılarında bu kolay görünür; ödeme, sipariş veya mesaj üretiminde ise istek anahtarı, benzersizlik kısıtı ve saklanan sonuç birlikte çalışır.
Yaygın varsayım, istemcinin tekrar deneme düğmesine sahip olmasının güvenli teslimatı çözdüğüdür. Oysa anahtarın ömrü, kapsamı ve çakışma davranışı tanımsızsa yinelenen yan etki yalnız daha düzenli üretilir. Küçük doğrulama, aynı isteği zaman aşımı ve bağlantı kopması çevresinde tekrarlayıp tek yan etkinin oluştuğunu, aynı anahtar farklı içerikle gelince de sessizce kabul edilmediğini gözlemlemektir. Tekrar deneme politikası, idempotans yoksa otomatikleştirilmiş kumardır.
İdempotent işlem, aynı isteğin bir veya daha çok kez uygulanmasının sunucu durumuna etkisini tek uygulamayla aynı bıraktığı işlemdir. Ağ gecikmesi ve zaman aşımı yeniden denemeyi olağanlaştırır; işlem idempotent değilse istemcinin belirsizliği çift kayıt veya yinelenen yan etki olarak geri döner. İstek kimliğiyle tekrarları ayıklamak veya durum geçişini koşullu yapmak bu davranışı kurabilir, fakat her ikisi de saklama ve temizleme yükü getirir. Küçük test, aynı isteği tekrarlayıp durum değişimini tek uygulamayla karşılaştırmaktır.