Junior — Middle
Czym różni się protokół WebSocket od standardowego protokołu HTTP podczas wymiany danych w sieci?
sobes.tech AI
Odpowiedź od AI
Główna różnica między WebSocket a standardowym HTTP polega na sposobie nawiązywania i utrzymywania połączenia do wymiany danych:
-
HTTP to protokół żądanie-odpowiedź. Klient wysyła żądanie, serwer odpowiada, a połączenie zazwyczaj jest zamykane. Aby uzyskać nowe dane, klient musi wysłać nowe żądanie.
-
WebSocket to protokół, który ustanawia trwałe, dwukierunkowe połączenie między klientem a serwerem. Po początkowym uścisku dłoni HTTP, połączenie przełącza się w tryb WebSocket, a obie strony mogą wysyłać dane w dowolnym momencie bez konieczności powtarzania żądań.
Zalety WebSocket:
- Niskie opóźnienie przy wymianie danych
- Wydajność przy częstym wymianie wiadomości
- Obsługa w czasie rzeczywistym (np. czaty, gry, dane finansowe)
Przykład użycia w Node.js:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', ws => {
ws.on('message', message => {
console.log(`Odebrano wiadomość: ${message}`);
ws.send(`Odpowiedź: ${message}`);
});
});