Veel websites en applicaties werken nog volgens een simpel principe: je vraagt iets op, de server zoekt het op en stuurt het antwoord terug. Voor een pagina die zelden verandert werkt dat prima. Maar bij processen waarbij elke seconde telt, wordt dit al snel een knelpunt. En in een tijd waarin de vraag naar steeds meer realtime informatie gebruikelijk is, werkt dat niet meer. Vroeger loste men dat op met 'polling': de applicatie vraagt op de achtergrond steeds opnieuw: “is er al iets nieuws?” Elke paar seconden opnieuw, ook al is het antwoord bijna altijd "nee". Dat kost onnodig veel servercapaciteit, jaagt de kosten van je clouddiensten/hosting op, en levert alsnog vertraging op.
In de gevallen dat er daadwerkelijk een real-time oplossing nodig is kiezen wij daarom steeds vaker voor een andere aanpak. Een permanente, beveiligde verbinding tussen het scherm van de gebruiker en de server. Zodra er iets verandert, wordt die informatie direct door de server doorgestuurd, zonder dat er iets hoeft te worden opgevraagd. Het resultaat is dat updates die binnen een fractie van een seconde zichtbaar zijn, in plaats van na enkele seconden wachten. Technisch gezien betekent dit dat er een HTTP request naar de server wordt verstuurd die in de response header aangeeft dat het een speciale websocket verbinding betreft. Hierdoor begrijpen de browser en de server elkaar en schakelen ze over naar een specifiek WebSocket protocol (ws:// of wss:// voor een beveiligde variant). Vanaf dit moment blijft er een connectie openstaan waar bi-directioneel data verstuurd kan worden.