Short Polling: ce este, cum funcționează și unde este utilizat

Autor: IT Sectr Publicat: 2026-06-02 Timp de citire: 8 min

Short Polling — este o tehnică de interacțiune client-server în care clientul trimite cereri HTTP la intervale fixe de timp pentru a obține date actualizate. Serverul procesează fiecare cerere imediat, returnând starea curentă chiar și în absența modificărilor. Potrivit Amazon Web Services, 2024, Short Polling este cea mai simplă de implementat, dar cea mai puțin eficientă metodă de interogare, creând o sarcină excesivă asupra serverului și rețelei.

Principalele puncte

  • Short Polling — tehnică în care clientul trimite cereri HTTP la interval fix, indiferent de apariția datelor.
  • Principiu — clientul interoghează serverul prin timer, serverul returnează imediat starea curentă, chiar dacă nu s-a schimbat.
  • Simplitate — implementarea nu necesită procesare asincronă pe server, este suficient un endpoint REST standard.
  • Dezavantaj — trafic excesiv în absența actualizărilor: fiecare cerere include antete HTTP complete și procesare pe server.
  • Aplicare — dashboard-uri simple, monitorizare cu frecvență scăzută de interogare și sisteme interne fără cerințe de timp real.

Ce este Short Polling

Short Polling — este un model de comunicare în care clientul trimite periodic cereri HTTP la server cu un interval prestabilit, iar serverul procesează fiecare cerere sincron și returnează imediat rezultatul. Intervalul de interogare este setat pe partea clientului cu ajutorul timerelor și de obicei variază de la 1 la 60 de secunde, în funcție de cerințele de actualitate a datelor.

Short Polling este cronologic primul mecanism de organizare a timpului real în aplicațiile web. La începutul anilor 2000, înainte de apariția XMLHttpRequest de generația a doua, paginile web foloseau <meta http-equiv=”refresh”> sau reîncărcarea periodică a iframe-urilor pentru actualizarea conținutului. Odată cu apariția tehnologiei AJAX (Asynchronous JavaScript and XML) în 2005, Short Polling a devenit abordarea standard pentru actualizarea datelor fără reîncărcarea completă a paginii.

Arhitectura Short Polling

Arhitectura Short Polling include trei componente: timer client, cerere HTTP și handler server. Clientul pornește un timer interval, la declanșarea căruia se trimite o cerere GET la server. Serverul execută o interogare a bazei de date sau a altei surse, formează un răspuns și îl returnează imediat clientului. Clientul actualizează interfața și așteaptă următoarea declanșare a timerului. Acest ciclu se repetă la nesfârșit cât timp aplicația este activă.

Problema cererilor excesive

Principala problemă a Short Polling — cererile goale inevitabile. Dacă datele se schimbă rar, majoritatea cererilor returnează rezultatul „fără schimbări”, irosind lățimea de bandă a rețelei și timpul procesorului pentru procesare. Cu 10 000 de clienți și un interval de interogare de 5 secunde, serverul primește 2 000 de cereri pe secundă — o parte semnificativă dintre acestea fiind inutilă dacă frecvența actualizărilor este de 1 eveniment pe minut.

Cum funcționează Short Polling

Short Polling funcționează după un ciclu simplu: clientul setează un timer interval cu o perioadă specificată (de exemplu, 5000 ms). La fiecare declanșare a timerului, clientul creează o cerere HTTP GET către endpoint-ul serverului, de obicei cu parametrul de marcaj temporal al ultimei actualizări. Serverul primește cererea, verifică existența datelor noi după marcajul specificat și returnează un răspuns — fie cu date noi, fie cu un indicator al absenței actualizărilor.

Parametrul critic de configurare a Short Polling — intervalul de interogare. Un interval prea scurt (sub 3 secunde) creează o sarcină mare asupra serverului și rețelei. Un interval prea lung (peste 30 de secunde) reduce actualitatea datelor. Intervalul optim depinde de scenariu: pentru panourile de monitorizare — 5–15 secunde, pentru fluxurile de știri — 30–60 secunde, pentru alertele critice — 1–3 secunde. Alegerea intervalului este întotdeauna un compromis între actualitatea datelor și sarcina asupra infrastructurii.

Interval de interogare adaptiv

Pentru reducerea sarcinii în timpul inactivității, se utilizează intervalul adaptiv: dacă mai multe cereri consecutive returnează un rezultat gol, intervalul crește (de exemplu, de la 5 la 15 secunde). La apariția datelor noi, intervalul este resetat la valoarea minimă. Algoritmul de întârziere exponențială (exponential backoff) permite reducerea numărului de cereri goale de 3–5 ori în cazul actualizărilor rare.

Exemplu de implementare Short Polling în JavaScript

Să analizăm implementarea client a Short Polling utilizând setInterval și Fetch API. Funcția primește URL-ul endpoint-ului și intervalul de interogare în milisecunde.

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("Primit", data.updates.length, "updates");
            }
        } catch (error) {
            console.error("Interogarea a eșuat:", error);
        }
    }, intervalMs);

    return timerId;
}

const timer = startPolling("/api/updates", 5000);
// clearInterval(timer) pentru oprire

Codul creează un interval de interogare cu perioada de 5 secunde și transmite serverului marcajul temporal al ultimei actualizări. Serverul poate utiliza acest parametru pentru a filtra datele și a returna doar înregistrările noi, reducând volumul de informații transmise. Funcția returnează identificatorul timerului pentru posibilitatea de a opri interogarea.

Partea server a Short Polling

Implementarea server pentru Short Polling este extrem de simplă — este un endpoint REST obișnuit care primește cereri GET și returnează un răspuns JSON cu starea curentă sau cu datele modificate după marcajul specificat.

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

Serverul primește parametrul since și filtrează înregistrările al căror marcaj temporal depășește valoarea specificată. Această abordare minimizează volumul de date în fiecare răspuns, returnând doar modificări incrementale. În absența datelor noi, serverul returnează un tablou gol, iar clientul continuă interogarea conform programului.

Short Polling vs Long Polling

Short Polling și Long Polling rezolvă aceeași sarcină — livrarea datelor de la server — dar diferă radical în ceea ce privește eficiența. Short Polling utilizează un interval fix de cereri, creând o sarcină previzibilă, în timp ce Long Polling menține conexiunea până la apariția evenimentului, minimizând numărul de răspunsuri goale.

CriteriuShort PollingLong Polling
Complexitatea implementăriiScăzută, REST standardMedie, procesare asincronă
Întârzierea actualizărilorFixă, până la N secundeMinimă, la apariția evenimentului
Numărul de cereriConstant, N cereri pe minutLa evenimente, de obicei mult mai puține
Sarcina serveruluiMare la interval micMenținerea conexiunilor, procesare asincronă
Traficul în inactivitateMaxim, fiecare cerere cu anteteMinim, o conexiune deschisă
ScalareaSimplă, cereri fără stareComplexă, necesită coadă de evenimente comună

Alegerea între tehnici depinde de frecvența actualizărilor datelor. Dacă evenimentele au loc mai des de o dată la 10 secunde — ambele abordări oferă o sarcină comparabilă, iar Short Polling poate fi mai simplu. Dacă evenimentele sunt rare (ore sau minute între modificări) — Long Polling este preferabil, deoarece nu creează cereri goale. Pentru scenariile intermediare, alegerea depinde de constrângerile infrastructurii și de posibilitatea utilizării WebSocket.

Când se aplică Short Polling

Short Polling se aplică în scenarii în care cerințele de actualitate a datelor sunt scăzute, iar simplitatea implementării are prioritate față de eficiență. Cele mai tipice cazuri sunt panourile administrative interne, sistemele de monitorizare cu frecvență scăzută de alerte și aplicațiile în care o întârziere de 15–30 de secunde este acceptabilă.

  • Panouri de monitorizare — dashboard-uri cu metrici care se actualizează la fiecare 10–30 de secunde, fără a necesita reacție instantanee la modificări.
  • Pagini de stare — pagini de verificare a disponibilității serviciilor, unde datele se actualizează la interval de 30–60 de secunde, iar întârzierea nu este critică.
  • Rapoarte analitice — sisteme analitice interne cu colectare periodică a datelor, unde actualitatea de până la 1 minut este acceptabilă.
  • Jocuri simple — jocuri multiplayer pe ture fără cerințe de timp real, unde tura se actualizează la fiecare câteva secunde.
  • Testare — scenarii de testare a sarcinii și depanare, unde Short Polling este utilizat ca metodă de referință pentru compararea cu alte tehnici.

Limitare importantă — Short Polling nu este potrivit pentru aplicații critice din punct de vedere temporal (terminale de tranzacționare, sisteme de alertare de urgență), unde o întârziere chiar și de 1 secundă este inacceptabilă. În astfel de scenarii, trebuie utilizate WebSocket, Server-Sent Events sau Long Polling. La proiectarea unui sistem cu Short Polling, trebuie calculat bugetul de cereri: cu 1 000 de clienți și un interval de 5 secunde, serverul procesează 12 000 de cereri pe minut, ceea ce necesită o bază de resurse corespunzătoare.

Întrebări frecvente

Ce este Short Polling în cuvinte simple?

Short Polling — este atunci când aplicația întreabă serverul la fiecare N secunde: „sunt date noi?”, iar serverul răspunde de fiecare dată, chiar dacă nimic nu s-a schimbat. Este ca și cum ai merge la cutia poștală la fiecare 5 minute pentru a verifica dacă a sosit o nouă scrisoare.

Ce interval de interogare să aleg pentru Short Polling?

Intervalul optim Short Polling depinde de scenariu: 5–10 secunde pentru panourile de monitorizare, 15–30 secunde pentru fluxurile de știri, 30–60 secunde pentru paginile de stare. Intervalul trebuie să fie un compromis între actualitatea datelor și sarcina serverului. Începeți cu 10 secunde și ajustați în funcție de rezultatele testelor.

Cu ce se deosebește Short Polling de Long Polling?

Short Polling — clientul „trage” constant de server cu un interval fix. Long Polling — clientul face o singură cerere, iar serverul o menține deschisă până la apariția datelor. Short Polling este mai simplu de implementat, dar creează mai multe cereri goale în cazul actualizărilor rare.

Când este Short Polling mai bun decât WebSocket?

Short Polling este mai simplu de implementat decât WebSocket și nu necesită un protocol special — funcționează prin cereri HTTP obișnuite. Short Polling este justificat pentru sistemele interne simple, unde o întârziere de 10–30 de secunde este acceptabilă, iar costurile infrastructurale de menținere a WebSocket sunt nejustificate.

Cum să reduc sarcina serverului de la Short Polling?

Utilizați intervalul adaptiv: în absența actualizărilor, măriți pauza între cereri de 2–3 ori. Adăugați parametrul since cu marcajul temporal al ultimei cereri, pentru ca serverul să returneze doar modificări incrementale. Stocați în cache răspunsurile pe partea CDN sau a serverului proxy pentru a reduce sarcina backend-ului.

Concluzii

  • Short Polling — tehnică de interogare a serverului cu interval fix, în care clientul trimite cereri HTTP prin timer, indiferent de apariția datelor noi.
  • Principiu — interogare ciclică prin setInterval sau setTimeout recursiv cu interval constant sau adaptiv.
  • Avantaj — simplitate maximă de implementare și depanare, nu necesită procesare asincronă pe server sau protocoale speciale.
  • Dezavantaj — trafic excesiv în cazul actualizărilor rare: cererile goale cu antete HTTP complete creează o sarcină inutilă.
  • Interval optim — 5–15 secunde pentru monitorizare, 15–60 secunde pentru date cu frecvență scăzută de modificare, 1–3 secunde pentru scenarii critice.
  • Comparație — mai simplu decât Long Polling, dar mai puțin eficient la evenimente rare; inferior WebSocket-ului ca performanță și întârziere.
  • Recomandare — utilizați Short Polling doar pentru sisteme interne simple cu cerințe scăzute de actualitate a datelor sau ca metodă de referință în teste.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și