Sobes.tech
Junior — Middle

Jaké jsou klíčové rozdíly mezi protokoly WebSocket a HTTP v kontextu fungování webových aplikací?

sobes.tech AI

Odpověď od AI

HTTP je protokol požadavek-odpověď, kde klient odešle požadavek a server odpoví, poté je spojení obvykle uzavřeno. Je vhodný pro standardní webové stránky a API, kde jsou data aktualizována na požádání.

WebSocket je protokol, který navazuje trvalé obousměrné spojení mezi klientem a serverem. Po navázání spojení mohou být data přenášena oběma směry v reálném čase bez nutnosti opakovaných požadavků.

Klíčové rozdíly:

  • Spojení: HTTP je jednostranné (klient → server), WebSocket je obousměrné.
  • Spojení: HTTP je dočasné, WebSocket je trvalé.
  • Použití: HTTP pro standardní požadavky, WebSocket pro aplikace v reálném čase (chat, hry, oznámení).

Příklad použití WebSocket na iOS (Swift):

let url = URL(string: "wss://example.com/socket")!
let webSocketTask = URLSession.shared.webSocketTask(with: url)
webSocketTask.resume()

// Odeslání zprávy
let message = URLSessionWebSocketTask.Message.string("Hello")
webSocketTask.send(message) { error in
    if let error = error {
        print("Chyba při odesílání: \(error)")
    }
}