Tekrar Dene Sonra

Retry-After, sunucunun bir yeniden denemenin ne zaman başarılı olabileceğine dair açık talimatıdır. 429 Too Many Requests, 503 Service Unavailable ve bazı yönlendirmelerle gelir; ya bir saniye sayısı (Retry-After: 30) ya da bir HTTP tarihi taşır. Ona uymak, toparlanan bir istemci ile beklediği kesintiyi uzatan bir istemci arasındaki farktır.

Nasıl çalışır

İstemci değeri ayrıştırır — iki biçim de geçerlidir ve ikisi de görülür — ve yeniden denemeyi en erken o zamana planlar. Başlık yoksa kendi geri çekilme (backoff) politikasına döner. İyi istemciler beklemeye bir üst sınır da koyar; böylece yanlış yapılandırılmış bir sunucu onları bir gün boyunca bekletemez.

Yaygın yanılgı

Sabit bir saniyelik beklemeli bir yeniden deneme döngüsünün “429’u ele almak” olduğu sanılır. Bunu yapan her istemci, pencere açıldığı anda sunucuya topluca yeniden yüklenir. Retry-After varsa doğru sayıyı zaten söyler; yoksa rastgelelikli (jitter) geri çekilme kullanın.

Burada deneyin

GET /coffee/v1/rush-hour on saniyede üç isteğe izin verir ve dördüncüyü 429 ve Retry-After ile yanıtlar; GET /protocol/v1/maintenance ise her isteğe 503 ve Retry-After: 30 ile cevap verir.

İlgili

Kaynaklar

Diğer terimler

Bu sayfayı İngilizce okuyun

Tüm sözlük maddeleri · Test teknikleri · 39 mock REST API’nin tamamı

Son güncelleme