Short Polling: apa itu, cara kerja dan di mana digunakan

Penulis: IT Sectr Diterbitkan: 2026-06-02 Waktu membaca: 8 mnt

Short Polling — adalah teknik interaksi klien-server di mana klien mengirimkan permintaan HTTP pada interval waktu tetap untuk mendapatkan data yang diperbarui. Server memproses setiap permintaan segera, mengembalikan status terkini bahkan jika tidak ada perubahan. Menurut Amazon Web Services, 2024, Short Polling adalah metode polling yang paling sederhana untuk diimplementasikan, namun paling tidak efisien, yang menciptakan beban berlebih pada server dan jaringan.

Poin Utama

  • Short Polling — teknik di mana klien mengirimkan permintaan HTTP pada interval tetap terlepas dari munculnya data.
  • Prinsip — klien melakukan polling ke server melalui timer, server segera mengembalikan status terkini, bahkan jika tidak berubah.
  • Kesederhanaan — implementasi tidak memerlukan pemrosesan asinkron di server, cukup endpoint REST standar.
  • Kekurangan — lalu lintas berlebihan saat tidak ada pembaruan: setiap permintaan menyertakan header HTTP lengkap dan pemrosesan di server.
  • Penerapan — dasbor sederhana, pemantauan dengan frekuensi polling rendah, dan sistem internal tanpa persyaratan waktu nyata.

Apa itu Short Polling

Short Polling — adalah pola komunikasi di mana klien secara periodik mengirimkan permintaan HTTP ke server dengan interval yang telah ditentukan, dan server memproses setiap permintaan secara sinkron dan segera mengembalikan hasilnya. Interval polling diatur di sisi klien menggunakan timer dan biasanya berkisar dari 1 hingga 60 detik, tergantung pada persyaratan aktualitas data.

Short Polling secara kronologis merupakan mekanisme pertama untuk mengatur waktu nyata dalam aplikasi web. Pada awal tahun 2000-an, sebelum munculnya XMLHttpRequest generasi kedua, halaman web menggunakan <meta http-equiv=”refresh”> atau pemuatan ulang iframe secara periodik untuk memperbarui konten. Dengan munculnya teknologi AJAX (Asynchronous JavaScript and XML) pada tahun 2005, Short Polling menjadi pendekatan standar untuk memperbarui data tanpa memuat ulang halaman sepenuhnya.

Arsitektur Short Polling

Arsitektur Short Polling mencakup tiga komponen: timer klien, permintaan HTTP, dan penangan server. Klien memulai timer interval, yang saat dipicu akan mengirimkan permintaan GET ke server. Server melakukan kueri ke basis data atau sumber lain, membentuk respons, dan segera mengembalikannya ke klien. Klien memperbarui antarmuka dan menunggu pemicu timer berikutnya. Siklus ini berulang tanpa batas selama aplikasi aktif.

Masalah Permintaan Berlebihan

Masalah utama Short Polling — permintaan kosong yang tak terhindarkan. Jika data jarang berubah, sebagian besar permintaan mengembalikan hasil “tidak ada perubahan”, membuang bandwidth jaringan dan waktu prosesor untuk pemrosesan. Dengan 10.000 klien dan interval polling 5 detik, server menerima 2.000 permintaan per detik — sebagian besar tidak berguna jika frekuensi pembaruan adalah 1 peristiwa per menit.

Cara Kerja Short Polling

Short Polling bekerja dalam siklus sederhana: klien mengatur timer interval dengan periode tertentu (misalnya, 5000 ms). Pada setiap pemicuan timer, klien membuat permintaan HTTP GET ke endpoint server, biasanya dengan parameter stempel waktu pembaruan terakhir. Server menerima permintaan, memeriksa keberadaan data baru setelah stempel waktu yang ditentukan, dan mengembalikan respons — baik dengan data baru atau dengan indikator tidak adanya pembaruan.

Parameter konfigurasi kritis Short Polling — interval polling. Interval yang terlalu pendek (kurang dari 3 detik) menciptakan beban tinggi pada server dan jaringan. Interval yang terlalu panjang (lebih dari 30 detik) mengurangi aktualitas data. Interval optimal tergantung pada skenario: untuk panel pemantauan — 5–15 detik, untuk umpan berita — 30–60 detik, untuk peringatan kritis — 1–3 detik. Pemilihan interval selalu merupakan kompromi antara aktualitas data dan beban infrastruktur.

Interval Polling Adaptif

Untuk mengurangi beban saat tidak ada aktivitas, digunakan interval adaptif: jika beberapa permintaan berurutan mengembalikan hasil kosong, interval ditingkatkan (misalnya, dari 5 menjadi 15 detik). Saat data baru muncul, interval direset ke nilai minimum. Algoritma penundaan eksponensial (exponential backoff) memungkinkan pengurangan jumlah permintaan kosong 3–5 kali lipat pada pembaruan yang jarang.

Contoh Implementasi Short Polling di JavaScript

Mari kita lihat implementasi klien Short Polling menggunakan setInterval dan Fetch API. Fungsi ini menerima URL endpoint dan interval polling dalam milidetik.

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("Diterima", data.updates.length, "updates");
            }
        } catch (error) {
            console.error("Polling gagal:", error);
        }
    }, intervalMs);

    return timerId;
}

const timer = startPolling("/api/updates", 5000);
// clearInterval(timer) untuk berhenti

Kode membuat interval polling dengan periode 5 detik dan mengirimkan stempel waktu pembaruan terakhir ke server. Server dapat menggunakan parameter ini untuk memfilter data dan hanya mengembalikan catatan baru, mengurangi jumlah informasi yang dikirimkan. Fungsi mengembalikan identifikasi timer untuk memungkinkan penghentian polling.

Sisi Server Short Polling

Implementasi server untuk Short Polling sangat sederhana — ini adalah endpoint REST biasa yang menerima permintaan GET dan mengembalikan respons JSON dengan status terkini atau data yang diubah setelah stempel waktu yang ditentukan.

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 menerima parameter since dan memfilter catatan yang stempel waktunya melebihi nilai yang ditentukan. Pendekatan ini meminimalkan volume data dalam setiap respons, hanya mengembalikan perubahan inkremental. Jika tidak ada data baru, server mengembalikan array kosong, dan klien melanjutkan polling sesuai jadwal.

Short Polling vs Long Polling

Short Polling dan Long Polling menyelesaikan tugas yang sama — pengiriman data dari server — tetapi berbeda secara radikal dalam efisiensi. Short Polling menggunakan interval permintaan tetap, menciptakan beban yang dapat diprediksi, sementara Long Polling mempertahankan koneksi hingga peristiwa terjadi, meminimalkan jumlah respons kosong.

KriteriaShort PollingLong Polling
Kompleksitas ImplementasiRendah, REST standarSedang, pemrosesan asinkron
Keterlambatan PembaruanTetap, hingga N detikMinimal, saat peristiwa terjadi
Jumlah PermintaanKonstan, N permintaan per menitBerdasarkan peristiwa, biasanya jauh lebih sedikit
Beban ServerTinggi pada interval kecilMempertahankan koneksi, pemrosesan asinkron
Lalu Lintas Saat DiamMaksimal, setiap permintaan dengan headerMinimal, satu koneksi terbuka
PenskalaanSederhana, permintaan tanpa statusKompleks, memerlukan antrian peristiwa bersama

Pemilihan antara teknik tergantung pada frekuensi pembaruan data. Jika peristiwa terjadi lebih sering dari sekali setiap 10 detik — kedua pendekatan memberikan beban yang sebanding, dan Short Polling mungkin lebih sederhana. Jika peristiwa jarang terjadi (jam atau menit antar perubahan) — Long Polling lebih disukai karena tidak membuat permintaan kosong. Untuk skenario menengah, pilihan tergantung pada keterbatasan infrastruktur dan kemungkinan penggunaan WebSocket.

Kapan Short Polling Digunakan

Short Polling digunakan dalam skenario di mana persyaratan aktualitas data rendah dan kesederhanaan implementasi lebih diutamakan daripada efisiensi. Kasus yang paling umum adalah panel administratif internal, sistem pemantauan dengan frekuensi peringatan rendah, dan aplikasi di mana keterlambatan 15–30 detik dapat diterima.

  • Panel Pemantauan — dasbor dengan metrik yang diperbarui setiap 10–30 detik, tidak memerlukan reaksi instan terhadap perubahan.
  • Halaman Status — halaman pemeriksaan ketersediaan layanan, di mana data diperbarui setiap 30–60 detik dan keterlambatan tidak kritis.
  • Laporan Analitik — sistem analitik internal dengan pengumpulan data periodik, di mana aktualitas hingga 1 menit dapat diterima.
  • Game Sederhana — game multipemain bergiliran tanpa persyaratan waktu nyata, di mana giliran diperbarui setiap beberapa detik.
  • Pengujian — skenario pengujian beban dan debugging, di mana Short Polling digunakan sebagai metode polling referensi untuk perbandingan dengan teknik lain.

Batasan Penting — Short Polling tidak cocok untuk aplikasi yang kritis terhadap waktu (terminal perdagangan, sistem peringatan darurat), di mana keterlambatan bahkan 1 detik tidak dapat diterima. Dalam skenario seperti itu, perlu menggunakan WebSocket, Server-Sent Events, atau Long Polling. Saat merancang sistem dengan Short Polling, anggaran permintaan harus dihitung: dengan 1.000 klien dan interval 5 detik, server memproses 12.000 permintaan per menit, yang memerlukan basis sumber daya yang sesuai.

Pertanyaan yang Sering Diajukan

Apa itu Short Polling dengan kata sederhana?

Short Polling — adalah saat aplikasi setiap N detik bertanya ke server: "ada data baru?", dan server selalu menjawab, bahkan jika tidak ada yang berubah. Ini seperti mendatangi kotak surat setiap 5 menit untuk memeriksa apakah ada surat baru.

Interval polling apa yang harus dipilih untuk Short Polling?

Interval Short Polling optimal tergantung pada skenario: 5–10 detik untuk panel pemantauan, 15–30 detik untuk umpan berita, 30–60 detik untuk halaman status. Interval harus menjadi kompromi antara aktualitas data dan beban server. Mulailah dengan 10 detik dan sesuaikan berdasarkan hasil pengujian.

Apa perbedaan Short Polling dengan Long Polling?

Short Polling — klien terus-menerus "menarik" server dengan interval tetap. Long Polling — klien melakukan satu permintaan, dan server menahannya tetap terbuka hingga data muncul. Short Polling lebih sederhana untuk diimplementasikan, tetapi menciptakan lebih banyak permintaan kosong pada pembaruan yang jarang.

Kapan Short Polling lebih baik dari WebSocket?

Short Polling lebih sederhana untuk diimplementasikan daripada WebSocket dan tidak memerlukan protokol khusus — bekerja melalui permintaan HTTP biasa. Short Polling dibenarkan untuk sistem internal sederhana di mana keterlambatan 10–30 detik dapat diterima dan biaya infrastruktur untuk memelihara WebSocket tidak sebanding.

Bagaimana cara mengurangi beban server dari Short Polling?

Gunakan interval adaptif: saat tidak ada pembaruan, tingkatkan jeda antar permintaan 2–3 kali lipat. Tambahkan parameter since dengan stempel waktu permintaan terakhir, sehingga server hanya mengembalikan perubahan inkremental. Cache respons di sisi CDN atau server proxy untuk mengurangi beban backend.

Ringkasan

  • Short Polling — teknik polling server dengan interval tetap, di mana klien mengirimkan permintaan HTTP melalui timer terlepas dari munculnya data baru.
  • Prinsip — polling siklik melalui setInterval atau setTimeout rekursif dengan interval konstan atau adaptif.
  • Keunggulan — kesederhanaan maksimal dalam implementasi dan debugging, tidak memerlukan pemrosesan asinkron di server atau protokol khusus.
  • Kekurangan — lalu lintas berlebihan pada pembaruan yang jarang: permintaan kosong dengan header HTTP lengkap menciptakan beban yang tidak berguna.
  • Interval Optimal — 5–15 detik untuk pemantauan, 15–60 detik untuk data dengan frekuensi perubahan rendah, 1–3 detik untuk skenario kritis.
  • Perbandingan — lebih sederhana dari Long Polling, tetapi kurang efisien pada peristiwa jarang; kalah dari WebSocket dalam hal kinerja dan keterlambatan.
  • Rekomendasi — gunakan Short Polling hanya untuk sistem internal sederhana dengan persyaratan aktualitas data rendah atau sebagai metode referensi dalam pengujian.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga