Short Polling: ano ito, paano ito gumagana at saan ginagamit

May-akda: IT Sectr Nai-publish: 2026-06-02 Oras ng pagbabasa: 8 min

Short Polling — ay isang pamamaraan ng interaksyon ng client-server kung saan ang client ay nagpapadala ng mga HTTP request sa mga nakapirming agwat ng oras upang makakuha ng na-update na data. Pinoproseso kaagad ng server ang bawat request, ibinabalik ang kasalukuyang estado kahit na walang mga pagbabago. Ayon sa Amazon Web Services, 2024, ang Short Polling ay ang pinakasimpleng ipatupad, ngunit hindi gaanong epektibong paraan ng polling, na lumilikha ng labis na karga sa server at network.

Mga Pangunahing Punto

  • Short Polling — pamamaraan kung saan ang client ay nagpapadala ng mga HTTP request sa nakapirming agwat anuman ang paglitaw ng data.
  • Prinsipyo — ang client ay nagpo-poll sa server sa pamamagitan ng timer, agad na ibinabalik ng server ang kasalukuyang estado, kahit na hindi ito nagbago.
  • Pagiging Simple — ang implementasyon ay hindi nangangailangan ng asynchronous processing sa server, sapat na ang isang standard na REST endpoint.
  • Disbentaha — labis na trapiko kung walang mga update: bawat request ay may kasamang buong HTTP headers at processing sa server.
  • Aplikasyon — mga simpleng dashboard, monitoring na may mababang polling frequency, at mga internal system na walang real-time na kinakailangan.

Ano ang Short Polling

Short Polling — ay isang pattern ng komunikasyon kung saan ang client ay pana-panahong nagpapadala ng mga HTTP request sa server na may paunang natukoy na agwat, at pinoproseso ng server ang bawat request synchronously at agad na ibinabalik ang resulta. Ang polling interval ay itinakda sa client side gamit ang mga timer at karaniwang mula 1 hanggang 60 segundo, depende sa mga kinakailangan sa pagiging bago ng data.

Ang Short Polling ay kronolohikal na unang mekanismo ng pag-oorganisa ng real-time sa mga web application. Noong unang bahagi ng 2000s, bago ang paglitaw ng XMLHttpRequest ng ikalawang henerasyon, ang mga web page ay gumamit ng <meta http-equiv=”refresh”> o pana-panahong pag-reload ng iframe para i-update ang nilalaman. Sa paglitaw ng AJAX (Asynchronous JavaScript and XML) na teknolohiya noong 2005, ang Short Polling ay naging standard approach para sa pag-update ng data nang walang buong pag-reload ng page.

Arkitektura ng Short Polling

Ang arkitektura ng Short Polling ay may tatlong bahagi: client timer, HTTP request, at server handler. Sinimulan ng client ang isang interval timer, na sa pag-activate nito ay nagpapadala ng GET request sa server. Ang server ay nagsasagawa ng query sa database o iba pang source, bumubuo ng tugon, at agad itong ibinabalik sa client. Ina-update ng client ang interface at naghihintay ng susunod na pag-activate ng timer. Ang cycle na ito ay nauulit nang walang hanggan habang aktibo ang application.

Problema ng Labis na Request

Ang pangunahing problema ng Short Polling — hindi maiiwasang mga walang laman na request. Kung ang data ay madalang magbago, karamihan sa mga request ay nagbabalik ng resulta na “walang pagbabago”, na nag-aaksaya ng bandwidth ng network at oras ng processor sa pagproseso. Sa 10,000 client na may polling interval na 5 segundo, ang server ay tumatanggap ng 2,000 request bawat segundo — isang malaking bahagi nito ay walang silbi kung ang frequency ng update ay 1 event bawat minuto.

Paano Gumagana ang Short Polling

Short Polling ay gumagana sa isang simpleng cycle: ang client ay nagtatakda ng interval timer na may tinukoy na panahon (hal., 5000 ms). Sa bawat pag-activate ng timer, ang client ay gumagawa ng HTTP GET request sa server endpoint, karaniwang may parameter ng timestamp ng huling update. Ang server ay tumatanggap ng request, sinusuri ang pagkakaroon ng bagong data pagkatapos ng tinukoy na timestamp, at nagbabalik ng tugon — alinman sa may bagong data o may indikasyon na walang update.

Ang kritikal na parameter ng configuration ng Short Polling — ang polling interval. Ang masyadong maikling interval (mas mababa sa 3 segundo) ay lumilikha ng mataas na karga sa server at network. Ang masyadong mahabang interval (higit sa 30 segundo) ay nagbabawas sa pagiging bago ng data. Ang optimal na interval ay depende sa scenario: para sa monitoring panel — 5–15 segundo, para sa news feed — 30–60 segundo, para sa kritikal na alert — 1–3 segundo. Ang pagpili ng interval ay palaging kompromiso sa pagitan ng pagiging bago ng data at karga sa infrastructure.

Adaptive Polling Interval

Para mabawasan ang karga sa panahon ng idle, ginagamit ang adaptive interval: kung ilang magkakasunod na request ay nagbalik ng walang laman na resulta, ang interval ay tataas (hal., mula 5 hanggang 15 segundo). Kapag lumitaw ang bagong data, ang interval ay irereset sa minimum na halaga. Ang algorithm ng exponential backoff ay nagbibigay-daan upang bawasan ang bilang ng walang laman na request ng 3–5 beses sa mga madalang na update.

Halimbawa ng Implementasyon ng Short Polling sa JavaScript

Tingnan natin ang client implementation ng Short Polling gamit ang setInterval at Fetch API. Ang function ay tumatanggap ng URL ng endpoint at polling interval sa millisecond.

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("Natanggap", data.updates.length, "updates");
            }
        } catch (error) {
            console.error("Nabigo ang polling:", error);
        }
    }, intervalMs);

    return timerId;
}

const timer = startPolling("/api/updates", 5000);
// clearInterval(timer) para ihinto

Ang code ay lumilikha ng polling interval na may panahon na 5 segundo at nagpapadala ng timestamp ng huling update sa server. Maaaring gamitin ng server ang parameter na ito para i-filter ang data at ibalik lamang ang mga bagong record, na binabawasan ang dami ng ipinadalang impormasyon. Ang function ay nagbabalik ng timer identifier para sa posibilidad na ihinto ang polling.

Server Side ng Short Polling

Ang server implementation para sa Short Polling ay sobrang simple — ito ay isang ordinaryong REST endpoint na tumatanggap ng GET request at nagbabalik ng JSON response na may kasalukuyang estado o data na binago pagkatapos ng tinukoy na timestamp.

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

Ang server ay tumatanggap ng parameter na since at nagfi-filter ng mga record na ang timestamp ay lumampas sa tinukoy na halaga. Ang approach na ito ay nagmiminimize ng dami ng data sa bawat tugon, na nagbabalik lamang ng incremental na mga pagbabago. Kung walang bagong data, ang server ay nagbabalik ng empty array, at ang client ay nagpapatuloy ng polling ayon sa iskedyul.

Short Polling vs Long Polling

Short Polling at Long Polling ay lumulutas ng parehong gawain — paghahatid ng data mula sa server — ngunit malaki ang pagkakaiba sa kahusayan. Ang Short Polling ay gumagamit ng fixed request interval, na lumilikha ng predictable na karga, habang ang Long Polling ay nagpapanatili ng koneksyon hanggang sa mangyari ang event, na nagmiminimize ng bilang ng mga walang laman na tugon.

KrayteryaShort PollingLong Polling
Kompleksidad ng ImplementasyonMababa, standard na RESTKatamtaman, asynchronous processing
Pagkaantala ng UpdateFixed, hanggang N segundoMinimal, sa paglitaw ng event
Bilang ng RequestConstant, N request bawat minutoAyon sa event, karaniwang mas kaunti
Karga sa ServerMataas sa maliit na intervalPagpapanatili ng koneksyon, asynchronous processing
Trapiko sa IdleMaksimum, bawat request na may headersMinimal, isang bukas na koneksyon
Pag-scaleSimple, stateless requestKomplikado, nangangailangan ng shared event queue

Ang pagpili sa pagitan ng mga teknik ay depende sa frequency ng pag-update ng data. Kung ang mga event ay nangyayari nang mas madalas kaysa isang beses bawat 10 segundo — ang parehong approach ay nagbibigay ng maihahambing na karga, at ang Short Polling ay maaaring mas simple. Kung ang mga event ay madalang (oras o minuto sa pagitan ng mga pagbabago) — ang Long Polling ay mas kanais-nais dahil hindi ito lumilikha ng mga walang laman na request. Para sa mga intermediate scenario, ang pagpili ay depende sa infrastructure constraints at posibilidad ng paggamit ng WebSocket.

Kailan Ginagamit ang Short Polling

Short Polling ay ginagamit sa mga scenario kung saan ang mga kinakailangan sa pagiging bago ng data ay mababa at ang pagiging simple ng implementasyon ay may priyoridad kaysa sa kahusayan. Ang pinaka-karaniwang kaso ay internal administrative panel, monitoring system na may mababang alert frequency, at mga application kung saan ang pagkaantala ng 15–30 segundo ay katanggap-tanggap.

  • Monitoring Panel — dashboard na may metrics na ina-update bawat 10–30 segundo, hindi nangangailangan ng agarang reaksyon sa mga pagbabago.
  • Status Page — pahina ng pagsusuri ng availability ng serbisyo, kung saan ang data ay ina-update bawat 30–60 segundo at ang pagkaantala ay hindi kritikal.
  • Analytical Reports — internal analytics system na may periodic data collection, kung saan ang pagiging bago hanggang 1 minuto ay katanggap-tanggap.
  • Simpleng Laro — multiplayer turn-based na laro na walang real-time na kinakailangan, kung saan ang turn ay ina-update bawat ilang segundo.
  • Pagsubok — load testing at debugging scenario, kung saan ang Short Polling ay ginagamit bilang reference polling method para sa paghahambing sa iba pang teknik.

Mahalagang Limitasyon — ang Short Polling ay hindi angkop para sa time-critical na application (trading terminal, emergency alert system), kung saan ang pagkaantala kahit 1 segundo ay hindi katanggap-tanggap. Sa ganitong mga scenario, dapat gamitin ang WebSocket, Server-Sent Events, o Long Polling. Sa pag-design ng system na may Short Polling, dapat kalkulahin ang request budget: sa 1,000 client na may interval na 5 segundo, ang server ay nagpoproseso ng 12,000 request bawat minuto, na nangangailangan ng naaangkop na resource base.

Mga Madalas Itanong

Ano ang Short Polling sa simpleng salita?

Short Polling — ay kapag ang application tuwing N segundo ay nagtatanong sa server: "may bagong data?", at ang server ay sumasagot sa bawat pagkakataon, kahit na walang nagbago. Ito ay tulad ng pagpunta sa mailbox tuwing 5 minuto upang suriin kung may bagong sulat.

Anong polling interval ang dapat piliin para sa Short Polling?

Ang optimal na Short Polling interval ay depende sa scenario: 5–10 segundo para sa monitoring panel, 15–30 segundo para sa news feed, 30–60 segundo para sa status page. Ang interval ay dapat na kompromiso sa pagitan ng pagiging bago ng data at karga ng server. Magsimula sa 10 segundo at ayusin batay sa mga resulta ng pagsubok.

Ano ang pagkakaiba ng Short Polling sa Long Polling?

Short Polling — ang client ay patuloy na “humihila” sa server na may fixed interval. Long Polling — ang client ay gumagawa ng isang request, at ang server ay pinapanatili itong bukas hanggang sa lumitaw ang data. Ang Short Polling ay mas simple na ipatupad, ngunit lumilikha ng mas maraming walang laman na request sa madalang na update.

Kailan mas maganda ang Short Polling kaysa WebSocket?

Short Polling ay mas simpleng ipatupad kaysa WebSocket at hindi nangangailangan ng espesyal na protocol — gumagana ito sa pamamagitan ng ordinaryong HTTP request. Ang Short Polling ay makatwiran para sa simpleng internal system kung saan ang pagkaantala ng 10–30 segundo ay katanggap-tanggap at ang infrastructure cost ng pagpapanatili ng WebSocket ay hindi makatwiran.

Paano bawasan ang karga ng server mula sa Short Polling?

Gumamit ng adaptive interval: kung walang update, taasan ang pagitan ng request ng 2–3 beses. Magdagdag ng parameter na since na may timestamp ng huling request, upang ang server ay magbalik lamang ng incremental na pagbabago. I-cache ang mga tugon sa side ng CDN o proxy server upang mabawasan ang karga ng backend.

Buod

  • Short Polling — pamamaraan ng polling sa server na may fixed interval, kung saan ang client ay nagpapadala ng HTTP request sa pamamagitan ng timer anuman ang paglitaw ng bagong data.
  • Prinsipyo — cyclic polling sa pamamagitan ng setInterval o recursive na setTimeout na may constant o adaptive interval.
  • Bentahe — maksimum na pagiging simple ng implementasyon at debugging, hindi nangangailangan ng asynchronous processing sa server o espesyal na protocol.
  • Disbentaha — labis na trapiko sa madalang na pag-update: walang laman na request na may buong HTTP headers ay lumilikha ng walang silbi na karga.
  • Optimal na Interval — 5–15 segundo para sa monitoring, 15–60 segundo para sa data na may mababang frequency ng pagbabago, 1–3 segundo para sa kritikal na scenario.
  • Paghahambing — mas simple kaysa Long Polling, ngunit hindi gaanong epektibo sa madalang na event; mas mababa kaysa WebSocket sa performance at pagkaantala.
  • Rekomendasyon — gamitin ang Short Polling lamang para sa simpleng internal system na may mababang kinakailangan sa pagiging bago ng data o bilang reference method sa pagsubok.

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din