Sobes.tech
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)")
    }
}