Sobes.tech
Junior — Middle

Quais são as principais diferenças entre os protocolos WebSocket e HTTP no contexto do funcionamento de aplicações web?

sobes.tech IA

Resposta da IA

HTTP é um protocolo de pedido-resposta, onde o cliente envia um pedido e o servidor responde, após o qual a ligação geralmente é encerrada. É adequado para páginas web padrão e APIs, onde os dados são atualizados mediante pedido.

WebSocket é um protocolo que estabelece uma ligação bidirecional permanente entre o cliente e o servidor. Após estabelecer a ligação, os dados podem ser transmitidos em ambas as direções em tempo real sem necessidade de pedidos repetidos.

Principais diferenças:

  • Ligação: HTTP é unidirecional (cliente → servidor), WebSocket é bidirecional.
  • Ligação: HTTP é temporária, WebSocket é permanente.
  • Utilização: HTTP para pedidos padrão, WebSocket para aplicações em tempo real (chat, jogos, notificações).

Exemplo de uso de WebSocket no iOS (Swift):

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

// Enviar mensagem
let message = URLSessionWebSocketTask.Message.string("Hello")
webSocketTask.send(message) { error in
    if let error = error {
        print("Erro ao enviar: \(error)")
    }
}