Short Polling: o que é, como funciona e onde é usado

Autor: IT Sectr Publicado: 2026-06-02 Tempo de leitura: 8 min

Short Polling é uma técnica de comunicação cliente-servidor onde o cliente envia requisições HTTP em intervalos fixos para receber dados atualizados. O servidor processa cada requisição imediatamente, retornando o estado atual mesmo que nada tenha mudado. De acordo com a Amazon Web Services, 2024, Short Polling é o método de polling mais simples de implementar, porém o menos eficiente, criando carga excessiva no servidor e na rede.

Pontos principais

  • Short Polling é uma técnica onde o cliente envia requisições HTTP em intervalo fixo independentemente de haver novos dados.
  • Princípio — o cliente consulta o servidor por temporizador, o servidor retorna imediatamente o estado atual mesmo que não tenha mudado.
  • Simplicidade — a implementação não requer processamento assíncrono no servidor, basta um endpoint REST padrão.
  • Desvantagem — tráfego excessivo quando não há atualizações: cada requisição inclui cabeçalhos HTTP completos e processamento no servidor.
  • Aplicação — painéis simples, monitoramento com baixa frequência de polling e sistemas internos sem requisitos de tempo real.

O que é Short Polling

Short Polling é um padrão de comunicação onde o cliente envia periodicamente requisições HTTP ao servidor com um intervalo predefinido, e o servidor processa cada requisição de forma síncrona e retorna o resultado imediatamente. O intervalo de polling é definido no lado do cliente usando temporizadores e geralmente varia de 1 a 60 segundos dependendo dos requisitos de atualização dos dados.

Short Polling é cronologicamente o primeiro mecanismo para organizar a comunicação em tempo real em aplicações web. No início dos anos 2000, antes da segunda geração do XMLHttpRequest, as páginas web usavam <meta http-equiv="refresh"> ou recarga periódica de iframes para atualizar o conteúdo. Com o advento da tecnologia AJAX (Asynchronous JavaScript and XML) em 2005, o Short Polling tornou-se a abordagem padrão para atualizar dados sem recarregar completamente a página.

Arquitetura do Short Polling

A arquitetura do Short Polling inclui três componentes: um temporizador do cliente, uma requisição HTTP e um manipulador do servidor. O cliente inicia um temporizador de intervalo e, a cada ativação, uma requisição GET é enviada ao servidor. O servidor consulta um banco de dados ou outra fonte, forma uma resposta e a retorna imediatamente ao cliente. O cliente atualiza a interface e aguarda a próxima ativação do temporizador. Este ciclo se repete indefinidamente enquanto a aplicação estiver ativa.

O problema das requisições redundantes

O principal problema do Short Polling são as inevitáveis requisições vazias. Se os dados mudam com pouca frequência, a maioria das requisições retorna um resultado "sem alterações", desperdiçando largura de banda da rede e tempo de CPU no processamento. Com 10.000 clientes com intervalo de polling de 5 segundos, o servidor recebe 2.000 requisições por segundo — uma parte significativa das quais é inútil se a frequência de atualização for de 1 evento por minuto.

Como funciona o Short Polling

Short Polling funciona em um ciclo simples: o cliente define um temporizador de intervalo com um período determinado (por exemplo, 5000 ms). A cada ativação do temporizador, o cliente forma uma requisição HTTP GET ao endpoint do servidor, geralmente com um parâmetro de timestamp da última atualização. O servidor recebe a requisição, verifica se há novos dados após o timestamp especificado e retorna uma resposta — seja com novos dados ou com um indicador de que não há atualizações.

Um parâmetro crítico de configuração do Short Polling é o intervalo de polling. Um intervalo muito curto (menos de 3 segundos) cria alta carga no servidor e na rede. Um intervalo muito longo (mais de 30 segundos) reduz a atualidade dos dados. O intervalo ideal depende do cenário: para painéis de monitoramento — 5–15 segundos, para feeds de notícias — 30–60 segundos, para alertas críticos — 1–3 segundos. A escolha do intervalo é sempre um compromisso entre a atualidade dos dados e a carga na infraestrutura.

Intervalo de polling adaptativo

Para reduzir a carga durante a inatividade, utiliza-se o intervalo adaptativo: se várias requisições consecutivas retornarem resultado vazio, o intervalo aumenta (por exemplo, de 5 para 15 segundos). Quando novos dados aparecem, o intervalo é redefinido para o valor mínimo. O algoritmo de backoff exponencial (exponential backoff) permite reduzir o número de requisições vazias em 3–5 vezes durante atualizações pouco frequentes.

Exemplo de implementação de Short Polling em JavaScript

Vejamos uma implementação de Short Polling do lado do cliente usando setInterval e Fetch API. A função recebe a URL do endpoint e o intervalo de polling em milissegundos.

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

    return timerId;
}

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

O código cria um intervalo de polling de 5 segundos e passa o timestamp da última atualização ao servidor. O servidor pode usar este parâmetro para filtrar dados e retornar apenas novos registros, reduzindo a quantidade de informação transmitida. A função retorna o identificador do temporizador para possibilitar a parada do polling.

Parte do servidor do Short Polling

A implementação do lado do servidor para Short Polling é extremamente simples — é um endpoint REST comum que aceita requisições GET e retorna uma resposta JSON com o estado atual ou dados alterados após o timestamp especificado.

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

O servidor recebe o parâmetro since e filtra os registros cujo timestamp excede o valor especificado. Esta abordagem minimiza a quantidade de dados em cada resposta, retornando apenas alterações incrementais. Quando não há novos dados, o servidor retorna um array vazio e o cliente continua o polling conforme programado.

Short Polling vs Long Polling

Short Polling e Long Polling resolvem o mesmo problema — a entrega de dados do servidor ao cliente — mas diferem drasticamente em eficiência. Short Polling usa intervalo fixo de requisições, criando carga previsível, enquanto Long Polling mantém a conexão aberta até que um evento ocorra, minimizando o número de respostas vazias.

CritérioShort PollingLong Polling
Complexidade de implementaçãoBaixa, REST padrãoMédia, processamento assíncrono
Latência de atualizaçõesFixa, até N segundosMínima, na ocorrência do evento
Número de requisiçõesConstante, N requisições por minutoPor eventos, geralmente muito menor
Carga no servidorAlta com intervalo curtoManutenção de conexões, processamento assíncrono
Tráfego em inatividadeMáximo, cada requisição com cabeçalhosMínimo, uma conexão aberta
EscalabilidadeSimples, requisições statelessComplexa, requer fila de eventos compartilhada

A escolha entre técnicas depende da frequência de atualizações dos dados. Se os eventos ocorrem mais de uma vez a cada 10 segundos — ambas as abordagens geram carga comparável, e Short Polling pode ser mais simples. Se os eventos são raros (horas ou minutos entre alterações) — Long Polling é preferível, pois não cria requisições vazias. Para cenários intermediários, a escolha depende das limitações de infraestrutura e da possibilidade de usar WebSocket.

Quando usar Short Polling

Short Polling é usado em cenários onde os requisitos de atualidade dos dados são baixos e a simplicidade de implementação tem prioridade sobre a eficiência. Os casos mais típicos são painéis administrativos internos, sistemas de monitoramento com baixa frequência de alertas e aplicações onde um atraso de 15–30 segundos é aceitável.

  • Painéis de monitoramento — painéis com métricas que atualizam a cada 10–30 segundos, sem exigir reação instantânea a mudanças.
  • Páginas de status — páginas de verificação de disponibilidade de serviços onde os dados atualizam a cada 30–60 segundos e o atraso não é crítico.
  • Relatórios analíticos — sistemas internos de análise com coleta periódica de dados onde a atualidade de até 1 minuto é aceitável.
  • Jogos simples — jogos multijogador por turnos sem requisitos de tempo real, onde o turno atualiza a cada poucos segundos.
  • Testes — cenários de teste de carga e depuração onde Short Polling é usado como método de polling de referência para comparação com outras técnicas.

Limitação importante — Short Polling não é adequado para aplicações críticas em termos de tempo (terminais de trading, sistemas de alerta de emergência) onde mesmo um atraso de 1 segundo é inaceitável. Em tais cenários, é necessário usar WebSocket, Server-Sent Events ou Long Polling. Ao projetar um sistema com Short Polling, deve-se calcular o orçamento de requisições: com 1.000 clientes com intervalo de 5 segundos, o servidor processa 12.000 requisições por minuto, o que requer uma base de recursos correspondente.

Perguntas frequentes

O que é Short Polling em termos simples?

Short Polling é quando uma aplicação pergunta ao servidor a cada N segundos: "há novos dados?", e o servidor sempre responde, mesmo que nada tenha mudado. É como ir até sua caixa de correio a cada 5 minutos para verificar se chegou uma nova carta.

Qual intervalo de polling escolher para Short Polling?

O intervalo ideal de Short Polling depende do cenário: 5–10 segundos para painéis de monitoramento, 15–30 segundos para feeds de notícias, 30–60 segundos para páginas de status. O intervalo deve ser um compromisso entre a atualidade dos dados e a carga no servidor. Comece com 10 segundos e ajuste com base nos resultados dos testes.

Como Short Polling difere de Long Polling?

Short Polling — o cliente "consulta" constantemente o servidor com intervalo fixo. Long Polling — o cliente faz uma requisição e o servidor a mantém aberta até que dados apareçam. Short Polling é mais simples de implementar, mas cria mais requisições vazias durante atualizações pouco frequentes.

Quando Short Polling é melhor que WebSocket?

Short Polling é mais simples de implementar que WebSocket e não requer um protocolo especial — funciona através de requisições HTTP comuns. Short Polling é justificado para sistemas internos simples onde um atraso de 10–30 segundos é aceitável e os custos de infraestrutura para suportar WebSocket não são justificáveis.

Como reduzir a carga do Short Polling no servidor?

Use intervalo adaptativo: quando não houver atualizações, aumente a pausa entre requisições em 2–3 vezes. Adicione o parâmetro since com o timestamp da última requisição para que o servidor retorne apenas alterações incrementais. Armazene em cache as respostas no CDN ou servidor proxy para reduzir a carga no backend.

Resumo

  • Short Polling é uma técnica de polling do servidor com intervalo fixo onde o cliente envia requisições HTTP por temporizador independentemente de haver novos dados.
  • Princípio — polling cíclico via setInterval ou setTimeout recursivo com intervalo constante ou adaptativo.
  • Vantagem — máxima simplicidade de implementação e depuração, não requer processamento assíncrono no servidor ou protocolos especiais.
  • Desvantagem — tráfego excessivo durante atualizações pouco frequentes: requisições vazias com cabeçalhos HTTP completos criam carga inútil.
  • Intervalo ideal — 5–15 segundos para monitoramento, 15–60 segundos para dados com baixa frequência de alterações, 1–3 segundos para cenários críticos.
  • Comparação — mais simples que Long Polling, mas menos eficaz para eventos raros; inferior ao WebSocket em desempenho e latência.
  • Recomendação — use Short Polling apenas para sistemas internos simples com baixos requisitos de atualidade de dados ou como método de referência em testes.

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também