Junior — Middle
Aké sú kľúčové rozdiely medzi protokolmi WebSocket a HTTP v kontexte fungovania webových aplikácií?
sobes.tech AI
Odpoveď od AI
HTTP je protokol požiadavka-odpoveď, kde klient odošle požiadavku a server odpovie, po čom sa spojenie zvyčajne zatvorí. Je vhodný pre štandardné webové stránky a API, kde sa údaje aktualizujú na požiadanie.
WebSocket je protokol, ktorý vytvára trvalé obojsmerné spojenie medzi klientom a serverom. Po nadviazaní spojenia môžu byť údaje prenášané v oboch smeroch v reálnom čase bez potreby opakovaných požiadaviek.
Kľúčové rozdiely:
- Spojenie: HTTP je jednostranné (klient → server), WebSocket je obojsmerné.
- Spojenie: HTTP je dočasné, WebSocket je trvalé.
- Použitie: HTTP pre štandardné požiadavky, WebSocket pre aplikácie v reálnom čase (chat, hry, oznámenia).
Príklad použitia WebSocket na iOS (Swift):
let url = URL(string: "wss://example.com/socket")!
let webSocketTask = URLSession.shared.webSocketTask(with: url)
webSocketTask.resume()
// Odoslanie správy
let message = URLSessionWebSocketTask.Message.string("Hello")
webSocketTask.send(message) { error in
if let error = error {
print("Chyba pri odoslaní: \(error)")
}
}