Short Polling: nədir, necə işləyir və harada istifadə olunur

Müəllif: IT Sectr Dərc olunub: 2026-06-02 Oxuma vaxtı: 8 dəq

Short Polling — bu, müştəri və server arasında qarşılıqlı əlaqə texnikasıdır, burada müştəri yenilənmiş məlumatları almaq üçün sabit vaxt intervalları ilə HTTP sorğuları göndərir. Server hər sorğunu dərhal emal edir, dəyişiklik olmasa belə aktual vəziyyəti qaytarır. Amazon Web Services, 2024-in məlumatlarına görə, Short Polling həyata keçirməsi ən asan, lakin ən az səmərəli sorğu metodudur və server və şəbəkəyə həddindən artıq yük yaradır.

Əsas məqamlar

  • Short Polling — müştərinin məlumatların görünüşündən asılı olmayaraq sabit intervalda HTTP sorğuları göndərdiyi texnika.
  • Prinsip — müştəri taymer üzrə serveri sorğu edir, server dəyişməsə belə cari vəziyyəti dərhal qaytarır.
  • Sadəlik — həyata keçirmə serverdə asinxron emal tələb etmir, standart REST endpoint kifayətdir.
  • Çatışmazlıq — yenilənmələr olmadıqda həddindən artıq trafik: hər sorğu tam HTTP başlıqlarını və server emalını əhatə edir.
  • Tətbiq — sadə panellər, aşağı sorğu tezliyi ilə monitoring və real vaxt tələbləri olmayan daxili sistemlər.

Short Polling nədir

Short Polling — bu, müştərinin müəyyən edilmiş intervallarla serverə HTTP sorğuları göndərdiyi və serverin hər sorğunu sinxron şəkildə dərhal emal edib nəticəni qaytardığı rabitə nümunəsidir. Sorğu intervalı müştəri tərəfində taymerlər vasitəsilə təyin edilir və adətən məlumatların aktualılıq tələblərindən asılı olaraq 1 saniyədən 60 saniyəyə qədər dəyişir.

Short Polling xronoloji olaraq veb tətbiqlərdə real vaxtın təşkilinin ilk mexanizmidir. 2000-ci illərin əvvəllərində, ikinci nəsil XMLHttpRequest yaranmamışdan əvvəl, veb səhifələr məzmunu yeniləmək üçün <meta http-equiv=”refresh”> və ya dövri iframe yenidən yükləmədən istifadə edirdi. 2005-ci ildə AJAX (Asynchronous JavaScript and XML) texnologiyasının yaranması ilə Short Polling səhifəni tam yenidən yükləmədən məlumatları yeniləmək üçün standart yanaşma oldu.

Short Polling arxitekturası

Short Polling arxitekturası üç komponenti əhatə edir: müştəri taymeri, HTTP sorğu və server emalçısı. Müştəri interval taymerini işə salır, onun işə düşməsi ilə serverə GET sorğu göndərilir. Server məlumat bazasına və ya digər mənbəyə sorğu edir, cavab yaradır və dərhal müştəriyə qaytarır. Müştəri interfeysi yeniləyir və növbəti taymer işə düşməsini gözləyir. Bu dövr tətbiq aktiv olduğu müddət ərzində sonsuz təkrarlanır.

Həddindən artıq sorğu problemi

Short Polling-in əsas problemi — qaçınılmaz boş sorğulardır. Məlumatlar nadir hallarda dəyişirsə, sorğuların əksəriyyəti „dəyişiklik yoxdur” nəticəsini qaytarır, şəbəkə ötürücülüyünü və prosessor vaxtını emala sərf edir. 5 saniyəlik sorğu intervalı ilə 10 000 müştəri olduqda server saniyədə 2 000 sorğu alır — yenilənmə tezliyi dəqiqədə 1 hadisə olduqda bunların əhəmiyyətli hissəsi faydasızdır.

Short Polling necə işləyir

Short Polling sadə bir dövr üzrə işləyir: müştəri müəyyən edilmiş dövrlə (məsələn, 5000 ms) interval taymeri qurur. Hər taymer işə düşməsində müştəri serverin son nöqtəsinə, adətən son yenilənmənin vaxt damğası parametri ilə HTTP GET sorğu yaradır. Server sorğunu alır, göstərilən vaxt damğasından sonra yeni məlumatların olub-olmadığını yoxlayır və cavab qaytarır — ya yeni məlumatlarla, ya da yenilənmə olmadığı göstəricisi ilə.

Short Polling-in kritik konfiqurasiya parametri — sorğu intervalıdır. Çox qısa interval (3 saniyədən az) server və şəbəkəyə yüksək yük yaradır. Çox uzun interval (30 saniyədən çox) məlumatların aktualılığını azaldır. Optimal interval ssenaridən asılıdır: monitoring panelləri üçün — 5–15 saniyə, xəbər lentləri üçün — 30–60 saniyə, kritik xəbərdarlıqlar üçün — 1–3 saniyə. Interval seçimi həmişə məlumatların aktualılığı ilə infrastruktura yük arasında kompromisdir.

Adaptiv sorğu intervalı

Boş vaxtlarda yükü azaltmaq üçün adaptiv interval istifadə olunur: bir neçə ardıcıl sorğu boş nəticə qaytararsa, interval artırılır (məsələn, 5-dən 15 saniyəyə). Yeni məlumatlar göründükdə interval minimum dəyərə sıfırlanır. Eksponensial gecikmə alqoritmi (exponential backoff) nadir yenilənmələrdə boş sorğuların sayını 3–5 dəfə azaltmağa imkan verir.

Short Polling-in JavaScript-də tətbiq nümunəsi

Short Polling-in setInterval və Fetch API istifadə edən müştəri tətbiqini nəzərdən keçirək. Funksiya endpoint URL və millisaniyələrlə sorğu intervalını qəbul edir.

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("Sorğu uğursuz oldu:", error);
        }
    }, intervalMs);

    return timerId;
}

const timer = startPolling("/api/updates", 5000);
// clearInterval(timer) dayandırmaq üçün

Kod 5 saniyəlik dövrlə sorğu intervalı yaradır və serverə son yenilənmənin vaxt damğasını ötürür. Server bu parametrdən məlumatları filtrləmək və yalnız yeni qeydləri qaytarmaq üçün istifadə edə bilər, ötürülən məlumatın həcmini azaldır. Funksiya sorğunu dayandırmaq imkanı üçün taymer identifikatoru qaytarır.

Short Polling-in server hissəsi

Short Polling üçün server tətbiqi son dərəcə sadədir — bu, GET sorğularını qəbul edən və cari vəziyyətlə və ya göstərilən vaxt damğasından sonra dəyişdirilmiş məlumatlarla JSON cavabı qaytaran adi REST endpoint-dir.

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);

Server since parametrini alır və vaxt damğası göstəriləni aşan qeydləri filtrləyir. Bu yanaşma hər cavabda məlumatın həcmini minimuma endirir, yalnız artım dəyişikliklərini qaytarır. Yeni məlumat olmadıqda server boş massiv qaytarır və müştəri cədvəl üzrə sorğuya davam edir.

Short Polling vs Long Polling

Short Polling və Long Polling eyni vəzifəni həll edir — serverdən məlumatların çatdırılması — lakin səmərəliliyə görə köklü şəkildə fərqlənir. Short Polling sabit sorğu intervalından istifadə edir, proqnozlaşdırıla bilən yük yaradır, Long Polling isə hadisə baş verənə qədər əlaqəni saxlayır, boş cavabların sayını minimuma endirir.

KriteriyaShort PollingLong Polling
Tətbiq mürəkkəbliyiAşağı, standart RESTOrta, asinxron emal
Yenilənmə gecikməsiSabit, N saniyəyə qədərMinimal, hadisə baş verdikdə
Sorğu sayıSabit, dəqiqədə N sorğuHadisələr üzrə, adətən çox az
Server yüküKiçik intervalda yüksəkƏlaqələrin saxlanması, asinxron emal
Boş vaxtda trafikMaksimal, hər sorğu başlıqlarlaMinimal, bir açıq əlaqə
MiqyaslamaSadə, vəziyyətsiz sorğularMürəkkəb, ümumi hadisə növbəsi tələb olunur

Texnikalar arasında seçim məlumatların yenilənmə tezliyindən asılıdır. Hadisələr 10 saniyədə bir dəfədən daha tez baş verirsə — hər iki yanaşma müqayisə edilə bilən yük verir və Short Polling daha sadə ola bilər. Hadisələr nadirdirsə (dəyişikliklər arasında saatlar və ya dəqiqələr) — Long Polling üstünlük təşkil edir, çünki boş sorğular yaratmır. Aralıq ssenarilər üçün seçim infrastruktur məhdudiyyətlərindən və WebSocket istifadə etmə imkanından asılıdır.

Short Polling nə vaxt tətbiq edilir

Short Polling məlumatların aktualılıq tələblərinin aşağı olduğu, sadəliyin səmərəlilikdən üstün olduğu ssenarilərdə tətbiq edilir. Ən tipik hallar — daxili inzibati panellər, aşağı tezlikli xəbərdarlıqları olan monitoring sistemləri və 15–30 saniyəlik gecikmənin məqbul olduğu tətbiqlərdir.

  • Monitoring panelləri — hər 10–30 saniyədən bir yenilənən, dəyişikliklərə ani reaksiya tələb etməyən metrikaları olan panellər.
  • Status səhifələri — xidmətlərin əlçatanlığını yoxlayan səhifələr, burada məlumatlar 30–60 saniyə intervalı ilə yenilənir və gecikmə kritik deyil.
  • Analitik hesabatlar — dövri məlumat toplama ilə daxili analitika sistemləri, burada 1 dəqiqəyə qədər aktualılıq məqbuldur.
  • Sadə oyunlar — real vaxt tələbləri olmayan, növbənin bir neçə saniyədən bir yeniləndiyi növbəli çoxoyunçulu oyunlar.
  • Sınaq — yük testi və debug ssenariləri, burada Short Polling digər texnikalarla müqayisə üçün referans sorğu metodu kimi istifadə olunur.

Vacib məhdudiyyət — Short Polling vaxt baxımından kritik tətbiqlər (ticarət terminalları, təcili xəbərdarlıq sistemləri) üçün uyğun deyil, burada hətta 1 saniyəlik gecikmə də yolverilməzdir. Belə ssenarilərdə WebSocket, Server-Sent Events və ya Long Polling istifadə edilməlidir. Short Polling ilə sistem layihələyərkən sorğu büdcəsini hesablamaq lazımdır: 5 saniyəlik interval ilə 1 000 müştəri olduqda server dəqiqədə 12 000 sorğu emal edir, bu da müvafiq resurs bazası tələb edir.

Tez-tez verilən suallar

Short Polling nədir sadə sözlərlə?

Short Polling — bu, tətbiqin hər N saniyədən bir serverə „yeni məlumat var?” sualını verdiyi və serverin heç nə dəyişməsə belə hər dəfə cavab verdiyi zamandır. Bu, yeni poçtun gəlib-gəlmədiyini yoxlamaq üçün hər 5 dəqiqədən bir poçt qutusuna yaxınlaşmaq kimidir.

Short Polling üçün hansı sorğu intervalı seçilməlidir?

Optimal Short Polling intervalı ssenaridən asılıdır: monitoring panelləri üçün 5–10 saniyə, xəbər lentləri üçün 15–30 saniyə, status səhifələri üçün 30–60 saniyə. Interval məlumatların aktualılığı ilə server yükü arasında kompromis olmalıdır. 10 saniyədən başlayın və test nəticələrinə görə tənzimləyin.

Short Polling Long Polling-dən nə ilə fərqlənir?

Short Polling — müştəri serveri sabit intervalda ’çəkir”. Long Polling — müştəri bir sorğu edir, server isə məlumatlar görünənə qədər onu açıq saxlayır. Short Polling tətbiqi daha sadədir, lakin nadir yenilənmələrdə daha çox boş sorğu yaradır.

Short Polling nə vaxt WebSocket-dən yaxşıdır?

Short Polling WebSocket-dən daha sadədir və xüsusi protokol tələb etmir — adi HTTP sorğuları vasitəsilə işləyir. Short Polling 10–30 saniyəlik gecikmənin məqbul olduğu sadə daxili sistemlər üçün əsaslandırılır və WebSocket-in saxlanması üçün infrastruktur xərcləri əsassızdır.

Short Polling-dən server yükünü necə azaltmaq olar?

Adaptiv interval istifadə edin: yenilənmələr olmadıqda sorğular arasında fasiləni 2–3 dəfə artırın. Serverə yalnız artım dəyişikliklərini qaytarmaq üçün son sorğunun vaxt damğası ilə since parametri əlavə edin. Backend yükünü azaltmaq üçün CDN və ya proksi server tərəfində cavabları keşləyin.

Nəticə

  • Short Polling — müştərinin yeni məlumatların görünüşündən asılı olmayaraq taymer üzrə HTTP sorğuları göndərdiyi sabit intervalda server sorğu texnikası.
  • Prinsip — sabit və ya adaptiv interval ilə setInterval və ya rekursiv setTimeout vasitəsilə dövri sorğu.
  • Üstünlük — maksimal tətbiq və debug sadəliyi, serverdə asinxron emal və xüsusi protokollar tələb etmir.
  • Çatışmazlıq — nadir yenilənmələrdə həddindən artıq trafik: tam HTTP başlıqları ilə boş sorğular faydasız yük yaradır.
  • Optimal interval — monitoring üçün 5–15 saniyə, aşağı dəyişiklik tezliyi olan məlumatlar üçün 15–60 saniyə, kritik ssenarilər üçün 1–3 saniyə.
  • Müqayisə — Long Polling-dən sadədir, lakin nadir hadisələrdə daha az səmərəlidir; performans və gecikmə baxımından WebSocket-dən geri qalır.
  • Tövsiyə — Short Polling-dən yalnız aşağı məlumat aktualılıq tələbləri olan sadə daxili sistemlərdə və ya testlərdə referans metodu kimi istifadə edin.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun