Čo je WebSocket?
WebSocket je komunikačný protokol, ktorý umožňuje obojsmernú komunikáciu medzi prehliadačom a serverom v reálnom čase cez jedno trvalé spojenie. Na rozdiel od klasického HTTP nemusí klient opakovane posielať nové požiadavky.
Definícia WebSocket
Čo je WebSocket
WebSocket je komunikačný protokol štandardizovaný organizáciou IETF v roku 2011 ako RFC 6455. Funguje nad TCP a umožňuje plne duplexnú (obojsmernú) komunikáciu medzi klientom (prehliadačom) a serverom cez jedno trvalé spojenie.
Prečo WebSocket vznikol
Klasický HTTP funguje na princípe request-response — klient pošle požiadavku, server odpovie a spojenie sa ukončí. Pre aplikácie, ktoré potrebujú okamžité aktualizácie (chat, notifikácie, burza), bol tento model neefektívny. Vývojári museli používať triky ako long polling, čo zaťažovalo server zbytočnými požiadavkami.
Ako WebSocket funguje
- Handshake — spojenie začína ako bežný HTTP požiadavok s hlavičkou
Upgrade: websocket - Trvalé spojenie — po úspešnom handshake zostáva TCP spojenie otvorené
- Obojsmerná komunikácia — server aj klient môžu kedykoľvek posielať správy bez čakania na požiadavku
- Nízka réžia — dátové rámce majú minimálnu hlavičku (2-14 bajtov), čo je oveľa menej než HTTP hlavičky
WebSocket sa používa v chatových aplikáciách, online hrách, živých športových výsledkoch, kolaboratívnych nástrojoch (napr. Google Docs) a obchodných platformách s real-time cenami.
Praktický príklad
Príklad: Používate chatovú aplikáciu ako Slack alebo Discord.
Po otvorení aplikácie sa nadviaže WebSocket spojenie so serverom. Keď niekto napíše správu, server ju okamžite pošle cez toto spojenie všetkým pripojeným používateľom — bez toho, aby ich prehliadače museli opakovane kontrolovať, či prišla nová správa. Výsledkom je okamžité doručenie bez oneskorenia.
Často kladené otázky
Aký je rozdiel medzi WebSocket a HTTP?
HTTP funguje na princípe request-response — klient musí poslať požiadavku, aby dostal odpoveď. WebSocket umožňuje obojsmernú komunikáciu — server aj klient môžu posielať správy kedykoľvek cez jedno trvalé spojenie.
Kedy použiť WebSocket?
WebSocket je ideálny pre aplikácie vyžadujúce real-time komunikáciu: chat, živé notifikácie, online hry, kolaboratívne editovanie dokumentov alebo živé dáta z burzy. Pre bežné webstránky stačí klasický HTTP.
Je WebSocket bezpečný?
Áno, ak sa používa protokol WSS (WebSocket Secure), ktorý beží nad TLS — rovnako ako HTTPS. WSS šifruje všetky prenášané dáta a chráni pred odpočúvaním.
Súvisiace pojmy
Potrebujete pomôcť s webom?
Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.