En el context del desenvolupament web, el sondeig HTTP (conegut en anglès com a HTTP polling) és una tècnica de comunicació client-servidor en la qual el client sol·licita periòdicament dades a un servidor per determinar si s'han produït canvis o si hi ha nova informació disponible.

És un dels mètodes tradicionals utilitzats per simular una comunicació en temps real a la World Wide Web, abans de l'aparició de protocols més eficients i bidireccionals.

Funcionament En el protocol HTTP clàssic, la comunicació sempre és iniciada pel client (per exemple, un navegador web), el qual fa una petició i el servidor respon. El servidor no pot iniciar una connexió amb el client de manera unilateral per enviar dades noves. El sondeig HTTP soluciona aquesta limitació fent que el client pregunti constantment al servidor: "Hi ha noves dades?".

Es distingeixen principalment dos tipus de sondeig:

Sondeig curt (Short Polling) En el sondeig curt, el client envia una petició HTTP al servidor a intervals de temps fixos i regulars (per exemple, cada 5 segons).

El client fa la petició.

El servidor respon immediatament amb les noves dades (si n'hi ha) o amb una resposta buida (si no n'hi ha).

El client espera el temps establert i torna a repetir el procés.

Inconvenients: Genera una gran sobrecàrrega de xarxa (overhead), ja que es creen i es tanquen múltiples connexions TCP i capçaleres HTTP constantment, fins i tot quan no hi ha dades noves. També pot provocar una latència inherent al temps d'espera triat pel client.

Sondeig llarg (Long Polling) El sondeig llarg (sovint associat històricament al model Comet) és una variant molt més eficient dissenyada per reduir el nombre de peticions buides.

El client envia una petició HTTP al servidor.

El servidor no respon immediatament. En lloc d'això, manté la connexió oberta i "bloquejada" fins que hi ha dades noves disponibles o fins que es produeix un temps d'espera límit (timeout).

Tan bon punt hi ha informació nova, el servidor respon al client i es tanca la connexió.

En rebre la resposta, el client obre immediatament una nova petició per esperar la següent actualització.

Avantatges: Redueix dràsticament la latència de recepció de dades i el nombre de peticions HTTP infructuoses en comparació amb el sondeig curt.

Inconvenients: Requereix més recursos del servidor (memòria i fils d'execució) per mantenir milers de connexions obertes simultàniament.

Comparativa amb alternatives modernes Avui en dia, el sondeig HTTP ha estat desplaçat en gran part per tecnologies més robustes orientades a esdeveniments:

WebSocket: Un protocol diferent de l'HTTP que proporciona un canal de comunicació bidireccional simultani a través d'una única connexió TCP persistent. És ideal per a aplicacions interactives com jocs en línia o xats.

Server-Sent Events (SSE): Una tecnologia que permet al servidor enviar actualitzacions unidireccionals al client de manera contínua a través d'una sola connexió HTTP. És més simple que els WebSockets i molt eficient per a fluxos de dades (com cotitzacions de borsa o notificacions).

Casos d'ús actuals Tot i que existeixen alternatives millors, el sondeig HTTP encara s'utilitza avui en dia per la seva facilitat d'implementació i la seva alta compatibilitat amb servidors i servidors intermediaris (proxy) antics que no admeten connexions persistents o protocols més moderns.

Vegeu també AJAX WebSocket

Categoria:Protocols de xarxa