Short Polling: nedir, nasıl çalışır ve nerede kullanılır

Yazar: IT Sectr Yayınlanma: 2026-06-02 Okuma süresi: 8 dk

Short Polling, istemcinin güncellenmiş verileri almak için sabit zaman aralıklarında HTTP istekleri gönderdiği bir istemci-sunucu iletişim tekniğidir. Sunucu her isteği hemen işler, hiçbir şey değişmemiş olsa bile mevcut durumu döndürür. Amazon Web Services, 2024'e göre, Short Polling uygulaması en basit ancak en az verimli polling yöntemidir ve sunucu ile ağ üzerinde aşırı yük oluşturur.

Önemli Noktalar

  • Short Polling, istemcinin yeni veri olup olmadığına bakılmaksızın sabit aralıklarla HTTP istekleri gönderdiği bir tekniktir.
  • Prensip — istemci zamanlayıcı ile sunucuyu yoklar, sunucu değişmemiş olsa bile mevcut durumu hemen döndürür.
  • Basitlik — uygulama sunucuda asenkron işleme gerektirmez, standart bir REST uç noktası yeterlidir.
  • Dezavantaj — güncelleme olmadığında aşırı trafik: her istek tam HTTP başlıkları ve sunucu işlemesi içerir.
  • Kullanım — basit panolar, düşük polling frekanslı izleme ve gerçek zamanlı gereksinimi olmayan iç sistemler.

Short Polling Nedir

Short Polling, istemcinin önceden tanımlanmış bir aralıkta sunucuya periyodik olarak HTTP istekleri gönderdiği ve sunucunun her isteği senkronize olarak işleyip sonucu hemen döndürdüğü bir iletişim modelidir. Polling aralığı istemci tarafında zamanlayıcılar kullanılarak ayarlanır ve veri güncelliği gereksinimlerine bağlı olarak genellikle 1 ila 60 saniye arasında değişir.

Short Polling, tarihsel olarak web uygulamalarında gerçek zamanlı iletişimi düzenleyen ilk mekanizmadır. 2000'li yılların başında, ikinci nesil XMLHttpRequest'ten önce, web sayfaları içeriği güncellemek için <meta http-equiv="refresh"> veya periyodik iframe yeniden yükleme kullanıyordu. 2005 yılında AJAX (Asynchronous JavaScript and XML) teknolojisinin ortaya çıkmasıyla Short Polling, sayfayı tamamen yeniden yüklemeden verileri güncellemek için standart yaklaşım haline geldi.

Short Polling Mimarisi

Short Polling mimarisi üç bileşen içerir: istemci zamanlayıcısı, HTTP isteği ve sunucu işleyicisi. İstemci bir aralık zamanlayıcısı başlatır ve her tetiklendiğinde sunucuya bir GET isteği gönderilir. Sunucu bir veritabanını veya başka bir kaynağı sorgular, bir yanıt oluşturur ve hemen istemciye döndürür. İstemci arayüzü günceller ve bir sonraki zamanlayıcı tetiklenmesini bekler. Bu döngü, uygulama etkin olduğu sürece süresiz olarak tekrarlanır.

Gereksiz İstek Sorunu

Short Polling'in ana sorunu kaçınılmaz boş isteklerdir. Veriler nadiren değişiyorsa, çoğu istek "değişiklik yok" sonucu döndürerek ağ bant genişliğini ve işlemci süresini boşa harcar. 5 saniyelik polling aralığıyla 10.000 istemci olduğunda, sunucu saniyede 2.000 istek alır — bunun önemli bir kısmı, güncelleme sıklığı dakikada 1 olay ise işe yaramaz.

Short Polling Nasıl Çalışır

Short Polling basit bir döngüyle çalışır: istemci belirli bir süreyle (örneğin, 5000 ms) bir aralık zamanlayıcısı ayarlar. Her zamanlayıcı tetiklenmesinde, istemci sunucu uç noktasına genellikle son güncellemenin zaman damgası parametresiyle birlikte bir HTTP GET isteği oluşturur. Sunucu isteği alır, belirtilen zaman damgasından sonra yeni veri olup olmadığını kontrol eder ve bir yanıt döndürür — ya yeni verilerle ya da güncelleme olmadığına dair bir göstergeyle.

Short Polling yapılandırmasının kritik bir parametresi polling aralığıdır. Çok kısa aralık (3 saniyeden az) sunucu ve ağ üzerinde yüksek yük oluşturur. Çok uzun aralık (30 saniyeden fazla) veri güncelliğini azaltır. Optimum aralık senaryoya bağlıdır: izleme panoları için — 5–15 saniye, haber akışları için — 30–60 saniye, kritik uyarılar için — 1–3 saniye. Aralık seçimi her zaman veri güncelliği ile altyapı yükü arasında bir dengedir.

Uyarlanabilir Polling Aralığı

Boşta kalma süresince yükü azaltmak için uyarlanabilir aralık kullanılır: art arda birkaç istek boş sonuç döndürürse, aralık artar (örneğin, 5'ten 15 saniyeye). Yeni veri göründüğünde, aralık minimum değere sıfırlanır. Üstel geri çekilme (exponential backoff) algoritması, seyrek güncellemeler sırasında boş istek sayısını 3–5 kat azaltabilir.

JavaScript'te Short Polling Uygulama Örneği

Şimdi setInterval ve Fetch API kullanan istemci tarafı Short Polling uygulamasına bakalım. İşlev, uç nokta URL'sini ve milisaniye cinsinden polling aralığını alır.

js
function startPolling(url, intervalMs) {
    const lastTimestamp = new Date().toISOString();

    const timerId = setInterval(async () => {
        try {
            const params = new URLSearchParams({
                since: lastTimestamp
            });
            const response = await fetch(url + "?" + params);
            const data = await response.json();

            if (data.updates && data.updates.length > 0) {
                renderUpdates(data.updates);
                console.log("Alındı", data.updates.length, "updates");
            }
        } catch (error) {
            console.error("Polling başarısız:", error);
        }
    }, intervalMs);

    return timerId;
}

const timer = startPolling("/api/updates", 5000);
// clearInterval(timer) durdurmak için

Kod, 5 saniyelik bir polling aralığı oluşturur ve son güncellemenin zaman damgasını sunucuya iletir. Sunucu, verileri filtrelemek ve yalnızca yeni kayıtları döndürmek için bu parametreyi kullanarak iletilen bilgi miktarını azaltabilir. İşlev, polling'i durdurma olanağı için zamanlayıcı tanımlayıcısını döndürür.

Short Polling Sunucu Tarafı

Short Polling için sunucu tarafı uygulaması son derece basittir — GET isteklerini kabul eden ve mevcut durumu veya belirtilen zaman damgasından sonra değiştirilen verileri içeren bir JSON yanıtı döndüren sıradan bir REST uç noktasıdır.

js
const express = require("express");
const app = express();

let items = [];

app.get("/api/updates", (req, res) => {
    const since = req.query.since;
    const filtered = items.filter(item => item.timestamp > since);
    res.json({ updates: filtered });
});

app.listen(3000);

Sunucu since parametresini alır ve zaman damgası belirtilen değeri aşan kayıtları filtreler. Bu yaklaşım, her yanıttaki veri miktarını en aza indirir ve yalnızca artımlı değişiklikleri döndürür. Yeni veri olmadığında, sunucu boş bir dizi döndürür ve istemci planlanan programa göre polling'e devam eder.

Short Polling vs Long Polling

Short Polling ve Long Polling aynı sorunu çözer — verilerin sunucudan istemciye iletilmesi — ancak verimlilik açısından kökten farklıdır. Short Polling sabit istek aralığı kullanarak öngörülebilir yük oluştururken, Long Polling bir olay oluşana kadar bağlantıyı açık tutarak boş yanıt sayısını en aza indirir.

KriterShort PollingLong Polling
Uygulama karmaşıklığıDüşük, standart RESTOrta, asenkron işleme
Güncelleme gecikmesiSabit, N saniyeye kadarMinimum, olay oluştuğunda
İstek sayısıSabit, dakikada N istekOlay bazlı, genellikle çok daha az
Sunucu yüküKısa aralıkta yüksekBağlantı tutma, asenkron işleme
Boşta trafikMaksimum, her istek başlıklarlaMinimum, bir açık bağlantı
ÖlçeklenebilirlikBasit, durumsuz isteklerKarmaşık, paylaşılan olay kuyruğu gerekir

Teknikler arasındaki seçim, verilerin güncelleme sıklığına bağlıdır. Olaylar her 10 saniyede bir defadan daha sık meydana geliyorsa — her iki yaklaşım da karşılaştırılabilir yük oluşturur ve Short Polling daha basit olabilir. Olaylar seyrekse (değişiklikler arasında saatler veya dakikalar) — Long Polling tercih edilir çünkü boş istek oluşturmaz. Ara senaryolar için seçim, altyapı kısıtlamalarına ve WebSocket kullanma olasılığına bağlıdır.

Short Polling Ne Zaman Kullanılır

Short Polling, veri güncelliği gereksinimlerinin düşük olduğu ve uygulama basitliğinin verimliliğe göre öncelikli olduğu senaryolarda kullanılır. En tipik durumlar, iç yönetim panelleri, düşük uyarı sıklığına sahip izleme sistemleri ve 15–30 saniyelik gecikmenin kabul edilebilir olduğu uygulamalardır.

  • İzleme panoları — her 10–30 saniyede bir güncellenen metrik panoları, değişikliklere anında tepki gerektirmez.
  • Durum sayfaları — verilerin her 30–60 saniyede bir güncellendiği ve gecikmenin kritik olmadığı hizmet kullanılabilirliği kontrol sayfaları.
  • Analitik raporları — periyodik veri toplamalı iç analitik sistemleri, 1 dakikaya kadar güncellik kabul edilebilir.
  • Basit oyunlar — gerçek zamanlı gereksinimi olmayan sıra tabanlı çok oyunculu oyunlar, sıra her birkaç saniyede bir güncellenir.
  • Test — Short Polling'in diğer tekniklerle karşılaştırma için referans polling yöntemi olarak kullanıldığı yük testi ve hata ayıklama senaryoları.

Önemli sınırlama — Short Polling, 1 saniyelik gecikmenin bile kabul edilemez olduğu zaman kritik uygulamalar (işlem terminalleri, acil uyarı sistemleri) için uygun değildir. Bu tür senaryolarda WebSocket, Server-Sent Events veya Long Polling kullanılmalıdır. Short Polling ile bir sistem tasarlarken, istek bütçesi hesaplanmalıdır: 5 saniye aralıkla 1.000 istemci olduğunda, sunucu dakikada 12.000 istek işler ve bu da karşılık gelen bir kaynak tabanı gerektirir.

Sıkça Sorulan Sorular

Short Polling basit kelimelerle nedir?

Short Polling, bir uygulamanın her N saniyede sunucuya "yeni veri var mı?" diye sorması ve sunucunun hiçbir şey değişmemiş olsa bile her seferinde yanıt vermesidir. Bu, yeni posta gelip gelmediğini kontrol etmek için her 5 dakikada bir posta kutunuza gitmek gibidir.

Short Polling için hangi polling aralığı seçilmelidir?

Optimum Short Polling aralığı senaryoya bağlıdır: izleme panoları için 5–10 saniye, haber akışları için 15–30 saniye, durum sayfaları için 30–60 saniye. Aralık, veri güncelliği ile sunucu yükü arasında bir uzlaşma olmalıdır. 10 saniyeden başlayın ve test sonuçlarına göre ayarlayın.

Short Polling, Long Polling'den nasıl farklıdır?

Short Polling — istemci sabit aralıkla sürekli sunucuyu yoklar. Long Polling — istemci bir istek yapar ve sunucu veri gelene kadar onu açık tutar. Short Polling uygulaması daha basittir ancak seyrek güncellemelerde daha fazla boş istek oluşturur.

Short Polling ne zaman WebSocket'ten daha iyidir?

Short Polling, WebSocket'ten daha basit uygulanır ve özel bir protokol gerektirmez — normal HTTP istekleriyle çalışır. Short Polling, 10–30 saniyelik gecikmenin kabul edilebilir olduğu ve WebSocket'i destekleme altyapı maliyetlerinin haklı olmadığı basit iç sistemler için uygundur.

Short Polling'in sunucu yükü nasıl azaltılır?

Uyarlanabilir aralık kullanın: güncelleme olmadığında, istekler arasındaki bekleme süresini 2–3 kat artırın. Sunucunun yalnızca artımlı değişiklikleri döndürmesi için son isteğin zaman damgasıyla birlikte since parametresini ekleyin. Arka uç yükünü azaltmak için CDN veya proxy sunucu tarafında yanıtları önbelleğe alın.

Özet

  • Short Polling, istemcinin yeni veri olup olmadığına bakılmaksızın zamanlayıcıyla HTTP istekleri gönderdiği sabit aralıklı sunucu polling tekniğidir.
  • PrensipsetInterval veya özyinelemeli setTimeout ile sabit veya uyarlanabilir aralıkta döngüsel polling.
  • Avantaj — uygulama ve hata ayıklamada maksimum basitlik, sunucuda asenkron işleme veya özel protokol gerektirmez.
  • Dezavantaj — seyrek güncellemelerde aşırı trafik: tam HTTP başlıklı boş istekler gereksiz yük oluşturur.
  • Optimum aralık — izleme için 5–15 saniye, düşük değişim sıklıklı veriler için 15–60 saniye, kritik senaryolar için 1–3 saniye.
  • Karşılaştırma — Long Polling'den basit ancak seyrek olaylarda daha az etkili; performans ve gecikmede WebSocket'e göre düşük.
  • Öneri — Short Polling'i yalnızca düşük veri güncelliği gereksinimleri olan basit iç sistemlerde veya testlerde referans yöntemi olarak kullanın.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun