Zaman aşımı istemcinin kendi son tarihidir. O olmadan, hiç cevap vermeyen bir sunucuya yapılan istek bir bağlantıyı, bir iş parçacığını ve kullanıcının sabrını sonsuza kadar tutabilir. Zaman aşımları genellikle parçalıdır: bağlanmak için ne kadar beklenecek, ilk bayt için ne kadar beklenecek ve tüm alışveriş ne kadar sürebilir.
Süre dolduğunda istemci isteği iptal eder ve bir hata bildirir — tarayıcıda AbortController ile, çoğu kütüphanede bir zaman aşımı istisnası olarak. Her durağın kendi zaman aşımı vardır: tarayıcı, CDN, yük dengeleyici, ağ geçidi ve uygulama. İçteki zaman aşımı dıştakinden uzunsa dış katman önce vazgeçer ve içerideki iş, kimse beklemezken sürer.
Zaman aşımına uğrayan bir isteğin hiç gerçekleşmediği sanılır. Sunucu onu almış ve istemci dinlemeyi bıraktıktan sonra tamamlamış olabilir; zaman aşımına uğramış bir POST siparişi oluşturmuş olabilir. Zaman aşımını “sonucu bilinmiyor” olarak ele alın ve yazmaları bir idempotency anahtarıyla yeniden denemeye güvenli hale getirin.
GET /protocol/v1/gateway-timeout 504 dönmeden önce yaklaşık üç saniye bekler, GET /pizza/v1/oven/preheat ise başarılı olmadan önce yaklaşık üç saniye sürer — istemci zaman aşımını iki saniyeye ayarlayın ve ikisinin ne yaptığını karşılaştırın.
Tüm sözlük maddeleri · Test teknikleri · 39 mock REST API’nin tamamı
Son güncelleme